![]() |
Fenster flickert beim resize von Linker und Top seite
Hier sind viel Infos nur wirklich helfen tut da nix..
![]() Hat jemand ähnlich Probleme und wie kann man es beheben? Sehr schlecht wenn die Controls auf dem Fenster hin und her springen.. (Nebenbei das gleiche Problem habe ich auch beim Explorer) Windows 10 gruss |
AW: Fenster flickert beim resize von Linker und Top seite
OK habe es erst mal Temporär gefixt ohne das Window auf Hide zu stellen.. Hmmm scheint hier wohl niemand zu wissen.
Die Lösung war, einfach die Flags in wc Class auf 0 setzen also "CS_HREDRAW or CS_VREDRAW" entfernen. Das Problem ist das vorher neu gezeichnet wird bevor WM_SIZE das überhaupt mitbekommt. Wenn ich mir den Windows Explorer so ansehe wie da die Statusleiste hoch und runter Hüpft nun gut muss wohl so sein. Windows wird immer schlechter. :evil: PS: Ideal ist das immer noch nicht die rechte Seite zieht immer nach. Die Controls hüpfen nicht mehr nur das Problem mit der Rechten Seite bekomme ich im Moment nicht in den griff, bin wohl nicht der einzige. Betrifft aber nur die Konstellation wenn man das Window an der linken\Top Seite in der Größe verändert. gruss |
AW: Fenster flickert beim resize von Linker und Top seite
Habe mal einen Versuch gemacht.
Delphi-Quellcode:
Verstehe die Technik nicht ganz.
WM_NCCALCSIZE:
begin if (wp = Ord(True)) then begin res := DefWindowProc(WinHandle, WM_NCCALCSIZE, wP, lP); ncps := PNCCalcSizeParams(lp); if (Assigned(ncps)) then begin GetWindowRect(WinHandle, ncps.rgrc[2]); ncps.rgrc[1] := ncps.rgrc[2]; res := WVR_VALIDRECTS; end; end else res := DefWindowProc(WinHandle, WM_NCCALCSIZE, wP, lP); Result := res; exit; end; Was verhindert nun das die Rechte Seite nachzieht? Alle Rects sind gleich sehe keinen unterschied. Hmm.. glaube das kann man nicht verhindern das ist ein Windows Problem. gruss |
AW: Fenster flickert beim resize von Linker und Top seite
Zitat:
|
AW: Fenster flickert beim resize von Linker und Top seite
Zitat:
Aber deine Lösung scheint dafür geeigneter zu sein. Danke.. So geht's..
Delphi-Quellcode:
Habe jetzt alles aus bis auf HTBOTTOM \ HTBOTTOMRIGHT \ HTRIGHT
BORDER := GetSystemMetrics(32);
if ((P.X >= xF - BORDER) and ((P.Y >= yF - BORDER))) then begin HITTEST := HTBOTTOMRIGHT; end else begin // Linke Seite if (P.X <= 8) then begin if (P.X <= BORDER) then HITTEST := HTNOWHERE; //HTLEFT; xSide := 1; end; // Rechte Seite if (P.X >= xF - 8) then begin if (P.X >= xF - BORDER) then HITTEST := HTRIGHT; xSide := 2; end; // Obere Seite if (P.Y <= BORDER) then begin HITTEST := HTNOWHERE; //HTTOP; if (xSide = 1) then HITTEST := HTNOWHERE //HTTOPLEFT else if (xSide = 2) then HITTEST := HTNOWHERE; //HTTOPRIGHT; end; // Untere Seite if (P.Y >= yF - BORDER) then begin if (xSide = 1) then HITTEST := HTNOWHERE //HTBOTTOMLEFT else HITTEST := HTBOTTOM; end; end; Ist die Standard Bedienung und sollte reichen. gruss |
AW: Fenster flickert beim resize von Linker und Top seite
Zitat:
|
AW: Fenster flickert beim resize von Linker und Top seite
Zitat:
Lese dir das hier durch dann sollte auch dir das einleuchten:) ![]() Es gibt definitiv keinen vernünftigen weg das Problem zu fixen. Wie schon gesagt selbst der Windows Explorer hat seine Schwierigkeiten damit. Resize den von links achte auf die Scrollbars wie die in den Ordner springen (wenn sichtbar) oder von oben und ziehe ihn hoch achte dabei auf die Statusbar wie die da rum hüpft. Ich habe einen guten Treiber und ne GeForce 1080 12GB Ram die rennt kannst du mir ruhig glauben. Dazu einen Core I5 9600 3,7 GHZ 6 Core. Wenn das für ein ach so wenig Ressourcen verwendetes Windows 10 nicht ausreicht dann wirft man es besser in die Tonne. gruss |
AW: Fenster flickert beim resize von Linker und Top seite
Ich benutze hier auf dem PC (W10 1809 B557) keine speziellen GraKa-Treiber, sondern nur die von Windows installierten.
Beim Ziehen an den Fensterrändern des Explorers flackert hier absolut nichts, die im Explorer angezeigten Elemente springen lediglich machmal gerastert herum. Ob das nun an den oder meinen Systemeinstellungen von Windows liegt oder an den GraKa-Treibern, kann ich nicht wirklich beurteilen. Das überlasse ich den Leuten, die die besseren/neueren/schnelleren GraKa-Treiber installiert haben und die bei fünf Pixeln Fenstergrößenänderung sogar viermal Flackern bemerken. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz