![]() |
Neuzeichnen von Controls
Hi Leute,
ich habe folgende Frage: Wie kann man, wenn man auf einen Device Context gezeichnet hat, diesen auffordern sich neu zuzeichnen? Zum Beispiel, wenn man auf den Desktop zeichnet. Mit SendMessage und WM_PAINT? Ich habe dies probiert, aber trotzdem zeichnet sich das Fenster nicht neu. Man sieht immer noch die Spuren des Zeichnens ... |
Re: Neuzeichnen von Controls
[msdn]Invalidate*[/msdn]
InvalidateRect gibts, es sollte sicher auch InvalidateWindow geben..... :gruebel: |
Re: Neuzeichnen von Controls
meines Wissens gibt es kein InvalidateWindow was auch nicht notwendig ist da man bei Invalidate das Handle des Fensters übergibt
|
Re: Neuzeichnen von Controls
Klar gibts die, hier:
Delphi-Quellcode:
:-D und wieder ein sinnloser Kommentar mehr.
procedure invalidateWindow( const handle: integer);
begin invalidateRect( handle, NIL, false); end; |
Re: Neuzeichnen von Controls
Danke erstmal...
Also mein eigentliches Vorhaben: Unterhalb des Cursors soll in einem Rechteck der vergrößerte Auschnitt angezeigt werden, über dem sich gerade der Mauszeiger befindet. So eine Art Bildschirmlupe. Bewege ich den Zeiger so wird das Rechteck hinterhergezogen. Soweit so gut. Nur sieht man die Spur des Rechtecks. Das Rechteck zeichne ich auf den Desktop DC und das Zoomen funktioniert auch schon. Wenn man nun bei jeder Mausbewegung InvalidateRect(...) aufruft, flackert das Bild sehr. Gibt es da eine bessere Methode? |
Re: Neuzeichnen von Controls
Naja,
ich weiss nicht wie dein Programm aufgebaut ist, aber die meisten Programme, die irgendetwas mit dem "Bildschriminhalt" anstellen, machen am Anfang einen Screenshot und arbeiten dann mit diesem Bitmap. Sprich du erstellt dein eigenes Fenster über allen anderen Fullscreen und darin kannst du dann ja nach belieben rummalern. |
Re: Neuzeichnen von Controls
Ziel ist es kein eigenes Fenster zu haben sondern immer unterhalb des
Cursors zu zeichen, egal über welchem Fenster er sich befindet... |
Re: Neuzeichnen von Controls
Hat keiner eine Idee?
|
Re: Neuzeichnen von Controls
|
Re: Neuzeichnen von Controls
Hallo,
statt auf dem Desktop zu zeichnen, solltest Du ein Fenster erstellen, dass immer hinter dem Cursor herläuft, und auf dieses zeichnen. Damit hast Du keine Probleme mehr. Gruß xaromz |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:36 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