AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zeilenumbruch verbessern

Ein Thema von EWeiss · begonnen am 10. Jun 2019 · letzter Beitrag vom 14. Jun 2019
Antwort Antwort
Seite 2 von 2     12   
DasWolf

Registriert seit: 7. Jun 2016
76 Beiträge
 
Delphi 10.1 Berlin Professional
 
#11

AW: Zeilenumbruch verbessern

  Alt 13. Jun 2019, 09:15
Nur wenn ich die Fensterhöhe per Titlebar verändere
dann tun mir "die Augen weh".
Das ist bei mir auch so.

Alles andere läuft bei mir auf Windows 8.1 64 Bit flickerfrei.
Das Einzige was aufgefallen ist, ist, dass bei Abwahl der Checkboxen "Crystal" oder "Blur mode" zuerst ganz kurz ein Zwischenbackground kommt und dann erst der Standard.

Geändert von DasWolf (13. Jun 2019 um 09:18 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#12

AW: Zeilenumbruch verbessern

  Alt 13. Jun 2019, 14:33
Zitat:
Läuft bei mir leider nicht. Die Datei Graphics.dcu wird nicht gefunden.
Das hat dann aber mit deinem System zu tun Graphics ist eine Standard Unit in Delphi.
Zitat:
Auf Win7x64 läuft es und auch flickerfrei.
Danke euch.. Habe vergessen bei zu schreiben das ich ältere System nicht mehr unterstütze. mindestens Win10
Windows 10 verwendete eine andere Methode für Blur wundert mich das es unter win7 damit noch geht.

Zitat:
Nur wenn ich die Fensterhöhe per Titlebar verändere dann tun mir "die Augen weh".
Muss ich mal prüfen Danke.

Zitat:
Das Einzige was aufgefallen ist, ist, dass bei Abwahl der Checkboxen "Crystal" oder "Blur mode" zuerst ganz kurz ein Zwischenbackground kommt und dann erst der Standard.
Wenn dann nur beim Blur Effekt.
Diese Implementierung ist unter Windows 10 sehr schlecht. Es arbeitet nicht mit WM_PRINT zusammen und die Regionen von Fenstern werden grundsätzlich ignoriert.

Nebenbei der Fix für den Resize.. auch wenn es darum eigentlich nicht ging.

Delphi-Quellcode:
{$REGION 'Procedure ResizeWindow'}

procedure ResizeWindow(WinHandle: HWND; ChangeBackground: integer);
begin

  if SKAERO_IsEngineAssigned then
  begin
    // Nicht minimiert
    if ChangeBackground = 0 then
      if not IsIconic(WinHandle) then
        ShowWindow(WinHandle, SW_HIDE);

    if SKAERO_Composited(WinHandle) then
      lRes := SKAERO_BeginDeferWindowPos(WinHandle, 0);

    // Hintergrund neuzeichnen
    SKAERO_DrawBackground(WinHandle);
    
    // Controls Repositionieren
    SKAERO_AnchorEnum(WinHandle);

    if SKAERO_Composited(WinHandle) then
      SKAERO_EndDeferWindowPos(WinHandle, lRes);

    if ChangeBackground <> 0 then
      SKAERO_UpdateWindow(WinHandle, False);

    if ChangeBackground = 0 then
      ShowWindow(WinHandle, SW_SHOW);
  end;
end;
{$ENDREGION}
gruss

Geändert von EWeiss (13. Jun 2019 um 15:19 Uhr) Grund: war falsch der code
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#13

AW: Zeilenumbruch verbessern

  Alt 13. Jun 2019, 18:30
Zitat:
Nur wenn ich die Fensterhöhe per Titlebar verändere dann tun mir "die Augen weh".
Nochmal.. wegen dem Fenster wenn du es mit der linken Seite in der Größe veränderst.
Mache das mal mit dem Explorer.. was denkst du was dort abgeht?
Richtig genau das selbe nur halt nicht ganz so sichtbar wie bei mir.

Von oben verändert..
Schau mal wie die Statusbar da rum hüpft.

Von der linken Seite verändert..
Da hüpft fast alles rum.

Wie soll man das als Developer korrekt ausrichten wenn es selbst der Explorer nicht mal kann.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von holger_barntrup
holger_barntrup

Registriert seit: 1. Feb 2007
Ort: Barntrup
97 Beiträge
 
Delphi 10.4 Sydney
 
#14

AW: Zeilenumbruch verbessern

  Alt 14. Jun 2019, 10:49
[QUOTE=EWeiss;1434556Das hat dann aber mit deinem System zu tun Graphics ist eine Standard Unit in Delphi.[/QUOTE]

Es musste bei mir vcl.graphics heißen, jetzt läuft es.
Win7 64Bit

Hüpft halt wie schon geschrieben. Blur und Crystal funktionieren ohne Probleme.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#15

AW: Zeilenumbruch verbessern

  Alt 14. Jun 2019, 15:57
Das hat dann aber mit deinem System zu tun Graphics ist eine Standard Unit in Delphi.
Es musste bei mir vcl.graphics heißen, jetzt läuft es.
Win7 64Bit

Hüpft halt wie schon geschrieben. Blur und Crystal funktionieren ohne Probleme.
OK. Danke! Habe das hüpfen schon behoben..
Entferne in uMain\WinMain bei wc.style "CS_HREDRAW or CS_VREDRAW" dann hüpfen zumindest die Controls nicht mehr.
Die rechte Seite zieht jedoch immer noch nach.

Nun gut bedient man das Teil normal über die Rechte Seite beim resize dann hat man die Probleme nicht.

Delphi-Quellcode:
{$REGION 'Procedure ResizeWindow'}

procedure ResizeWindow(WinHandle: HWND; ChangeBackground: integer);
begin

  if SKAERO_IsEngineAssigned then
  begin
    if SKAERO_Composited(WinHandle) then
      lRes := SKAERO_BeginDeferWindowPos(WinHandle, 0);

    // Hintergrund neuzeichnen
    SKAERO_DrawBackground(WinHandle);

    // Controls Repositionieren
    SKAERO_AnchorEnum(WinHandle);

    if SKAERO_Composited(WinHandle) then
      SKAERO_EndDeferWindowPos(WinHandle, lRes);

    SKAERO_UpdateWindow(WinHandle, False);
    SKAERO_UpdateWindow(TabInfo.Handle, False);
  end;
end;
{$ENDREGION}
Delphi-Quellcode:
function WinMain(hInstance: HINST; hPrevInstance: HINST; lpCmdLine: PChar; nCmdShow: integer)
  : integer; stdcall;

var
  Msg: TMsg;
  myClass: PWideChar;
  myTitle: PWideChar;
  dwStyle: DWORD;
  dwExStyle: DWORD;
  wc: TWndClassEx;
  X: integer;
  Y: integer;
  IsInitialized: Bool;
  rc: TRect;
  Path: string;

begin

  myClass := 'POPUPWINDOW';

  wc.cbSize := SIZEOF(wc);
  IsInitialized := GetClassInfoEx(hInstance, myClass, wc);
  if IsInitialized = False then
  begin
    wc.cbSize := SIZEOF(wc);
    // Remove the Flicker of Window change size from left or Top side
    // deactivate CS_HREDRAW or CS_VREDRAW
    wc.style := CS_DBLCLKS;
gruss

Geändert von EWeiss (14. Jun 2019 um 23:55 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz