für alle die es interessiert, habe ich folgende flackerfreie Lösung gefunden:
Die folgende Funktion wird mit dem vorrübergehend einzufrierenden Fenster aufgerufen. (Natürlich das "aufwecken" em Ende nicht vergessen)
Delphi-Quellcode:
procedure LockWinControl(const WC: TWinControl; ALock: Boolean);
begin
if (not Assigned(WC)) or (WC.Handle = 0) then
exit;
if ALock then WC.Perform(WM_SETREDRAW, 0, 0) else
begin WC.Perform(WM_SETREDRAW, 1, 0);
RedrawWindow(WC.Handle, nil, 0, RDW_ERASE or RDW_FRAME or RDW_INVALIDATE or RDW_ALLCHILDREN);
end;
end;
ereetzer