Hi,
in der Form wie du den Code jetzt hast, könntest du die Variable
Rect gleich ganz weglassen und stattdessen
nil nehmen. Die brauchst du eigentlich nur, wenn du innerhalb des fremden Fensters nur einen bestimmten Bereich neuzeichnen möchtest. Zum Beispiel wenn du auf einem fremden Fenster einen Text zeichnest und du nur den Bereich auf dem sich der Text befindet neuzeichnen möchtest. Dazu müsstest du
Rect allerdings dementsprechend neu berechnen, da jetzt das ganze Fenster neugezeichnet wird.
RDW_FRAME kann man wohl auch noch weglassen wenn man die Funktion mit der Variable
Rect aufruft.
Edit: das hätte auch gereicht:
Delphi-Quellcode:
var
Rect: TRect;
begin
Windows.GetClientRect(FremdesFenster, Rect);
...
RedrawWindow(FremdesFenster, @Rect, 0, RDW_ERASE or RDW_INVALIDATE or RDW_UPDATENOW or RDW_ALLCHILDREN);