Hi,
Delphi-Quellcode:
var
Rect: TRect;
begin
GetWindowRect(
Handle, Rect);
Rect.Bottom:= Rect.Bottom- Rect.Top;
Rect.Right:= Rect.Right- Rect.Left;
Rect.Top:= 0;
Rect.Left:= 0;
RedrawWindow(FremdesFenster.Handle, @Rect, 0, RDW_ERASE
or RDW_FRAME
or RDW_INVALIDATE
or RDW_UPDATENOW
or RDW_ALLCHILDREN);
Den Bildausschnitt müsstest du dann noch anpassen;
Du sagst das flackert, hast du etwa versucht den Desktop neu zu zeichnen oder etwa ein anderes Fenster? Wenn der ganze Bildschirm flackert wird meistens der Desktop neugezeichnet. Normalerweise wird aber nur ein Ausschnitt vom fremden Fenster aktualisiert.
Zitat von
simjoh:
wie wird denn da das refreshen auf das Rect beschränkt?
Da war kein Rect angegeben, also würde das komplette Fenster neu gezeichnet werden.