Einzelnen Beitrag anzeigen

manuel.taber

Registriert seit: 15. Mär 2011
5 Beiträge
 
#3

AW: Flackern beim erstellen einer Form vermeiden

  Alt 15. Mär 2011, 15:24
Hallo alfold,

vielen dank für deine schnelle Antwort.
Ich habe jetzt Versucht im OnResize ein Application.ProcessMessages einzubauen.
Darum habe ich das Hauptpanel mit folgender Funktion gesperrt:

Code:
procedure LockControl(pWinControl: TWinControl; pLock: Boolean);
begin
  { Uebergebene Komponente wird gesperrt }
  if (pWinControl = nil) or (pWinControl.Handle = 0) then
    Exit;
  if pLock then begin
    SendMessage(pWinControl.Handle, WM_SETREDRAW, 0, 0)
  end else begin
    SendMessage(pWinControl.Handle, WM_SETREDRAW, 1, 0);
    RedrawWindow(pWinControl.Handle, nil, 0,
      RDW_ERASE or RDW_FRAME or RDW_INVALIDATE or RDW_ALLCHILDREN);
  end;
end;
Es ist zwar jetzt eine Verbesserung da, es gibt aber immer noch ein leichtes flackern.

Gibt es kein Event (z.B. OnFinishPaint) das aufgerufen wird, wenn alles gezeichnet ist?
  Mit Zitat antworten Zitat