![]() |
Repaint auf anderem Fenster
Hi Freaks,
kann mir jemand von euch sagen, wie ich auf einem anderen Fenster ein Repaint auslösen kann? Ich habs damit versucht:
Code:
Das ist ihm allerdings vollkommen Suppe.
procedure RefreshDesktop;
var Desktop : TCanvas; begin Desktop := TCanvas.Create; try Desktop.Handle := FSHandle; // FSHandle = Handle des zu aktualsierenden Fensters Desktop.Refresh; finally Desktop.Free; end; end; Ich hab nämlich das Problem, das beim ziehen meines Fensters über ein Accessfenster teilweise die Ränder stehenbleiben, was sehr unschön aussieht. (Das Problem tritt speziell auf langsamen Rechnern auf und hat nichts direkt mit meinem Programm zu tun. Wenn ich Notepad oder Paint drüberziehe passiert es auch.) Deshalb möchte ich beim loslassen meines Fensters das Accessfenster neu zeichnen lassen. Danke im Voraus für Eure Hilfe! MfG mischer |
Re: Repaint auf anderem Fenster
Ich mach das so:
Delphi-Quellcode:
procedure RepaintWnd(Window: hWnd);
begin InvalidateRect(Window, nil, True); UpdateWindow(Window); RedrawWindow(Window, nil, 0, RDW_FRAME or RDW_INVALIDATE or RDW_UPDATENOW or RDW_ALLCHILDREN); end; |
Re: Repaint auf anderem Fenster
:dp: DANKE! Funktioniert einwandfrei :dancer: :cheers:
MfG mischer |
Re: Repaint auf anderem Fenster
auch wenn das ein bisschen zu spät ist:(deinFormName ist der Formname des Forms, das gerepainted werden soll
Code:
Müsste eigentlich funtionieren.
deinFormName.Repaint;
Oder wolltest du ein Form, das nicht zu deinem Projekt gehört, repainten? |
Re: Repaint auf anderem Fenster
Zitat:
MfG mischer |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:43 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