![]() |
Message beim Verkleinern von Dialogen abfangen
ich hooke ein programm und fange die WM_PAINT Messages ab. sobald so eine ankommt dann zeichnet sich auch ein button von mir neu, sodass er immer sichtbar ist auf dem fremden programm. nur mein problem ist, dass wenn ich den dialog verkleiner, indem ich den rand anklicke und ihn nach innen ziehe, dann wird mein button nicht neu gezeichnet und es wird auch keine message gesendet... ??? wenn ich den dialog jedoch vergrößere, dann bekomm ich ganz normal wieder ne WM_PAINT Message.
kann mir jemand sagen woran das liegt? und wie ich das abfangen kann, damit ich meinen button neuzeichnen kann? |
Re: Message beim Verkleinern von Dialogen abfangen
ich habs jetzt so gelöst, dass ich im WM_MOUSEMOVE abfrage ob an der position wo mein button sich befinden sollte eine bestimmt farbe ist und falls das nicht der fall sein sollte, dann ist der button ja nicht sichtbar und ich starte die zeichenroutine. aber irgendwie kann das ja nicht sein, dass ich das so lösen muss... hat jemand noch eine idee?
|
Re: Message beim Verkleinern von Dialogen abfangen
niemand ne idee?
|
Re: Message beim Verkleinern von Dialogen abfangen
Gibt es denn nicht WM_RESIZE? Ich habe zwar noch nie was damit gemacht, aber die Message muss es fast geben, nachdem es bei TForm das OnResize-Ereignis gibt...nur mal so eine Idee ;)
|
Re: Message beim Verkleinern von Dialogen abfangen
Moin Zusammen,
nicht WM_RESIZE, sondern WM_SIZING müsste die passende Message sein. |
Re: Message beim Verkleinern von Dialogen abfangen
WM_SIZE bzw. WM_SIZING hab ich auch schon ausprobiert... die message wird einfach nicht aufgerufen... ka wieso.. mein hook funktioniert sonst einwandtfrei..
hat jemand vielleicht noch eine idee wie ich aufs ändern der Fensterbreite reagieren kann? |
Re: Message beim Verkleinern von Dialogen abfangen
??? irgendwie kapier ich das nicht ???
warum wird keine WM_SIZE/WM_SIZING |
Re: Message beim Verkleinern von Dialogen abfangen
warum kein WM_SIZING weiß ich zwar grad auch net... :roll:
aber das mit dem WM_PAINT ist klar, weil beim verkleinern ja nichts neugezeichnet werden muß. Roderich |
Re: Message beim Verkleinern von Dialogen abfangen
ja stimmt, dass ist schon logisch, da eben nur ein teil des fenster abgeschnitten wird, aber der rest ja nicht neugezeichnet werden muss, aber irgendwie muss doch dem fenster signalisiert werden, dass es verkleinert wurde, dass gibts doch net.... komisch!!
|
Re: Message beim Verkleinern von Dialogen abfangen
Zitat:
Der kluge Mathias schrieb da nämlich So weit die Theorie. In der Praxis scheiterten beide Versuche bei mir (Delphi 5 Pro) allerdings daran, dass SIZE_MINIMIZED ignoriert wird. Warum auch immer ... Wenn Sie das Flag testweise durch sein Gegenstück SIZE_MAXIMIZED (= die Anwendung wurde maximiert) ersetzen, dann erscheint das TNA-Symbol, und der Button in der Startleiste verschwindet. Wie gesagt: theoretisch sollte es also auch beim Minimieren funktionieren ... Möglicherweise handelt es sich hierbei aber auch "nur" um einen Bug von Delphi 5. Vielleicht ist das in Ihrer Delphi-Version auch anders bzw. (falls es ein Bug ist:) behoben, so dass Sie obige Anregungen ausprobieren Ihre Ergebnisse im Support-Forum vorstellen können. Und da sagt Hagen heute was von "unerwarteten Fehlern". :mrgreen: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 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 by Thomas Breitkreuz