AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Message beim Verkleinern von Dialogen abfangen
Thema durchsuchen
Ansicht
Themen-Optionen

Message beim Verkleinern von Dialogen abfangen

Ein Thema von mumu · begonnen am 24. Mär 2004 · letzter Beitrag vom 1. Apr 2004
Antwort Antwort
Seite 1 von 2  1 2      
mumu

Registriert seit: 28. Okt 2003
Ort: Bamberg
519 Beiträge
 
#1

Message beim Verkleinern von Dialogen abfangen

  Alt 24. Mär 2004, 16:34
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?
  Mit Zitat antworten Zitat
mumu

Registriert seit: 28. Okt 2003
Ort: Bamberg
519 Beiträge
 
#2

Re: Message beim Verkleinern von Dialogen abfangen

  Alt 24. Mär 2004, 19:10
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?
  Mit Zitat antworten Zitat
mumu

Registriert seit: 28. Okt 2003
Ort: Bamberg
519 Beiträge
 
#3

Re: Message beim Verkleinern von Dialogen abfangen

  Alt 26. Mär 2004, 18:06
niemand ne idee?
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#4

Re: Message beim Verkleinern von Dialogen abfangen

  Alt 26. Mär 2004, 18:09
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
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Message beim Verkleinern von Dialogen abfangen

  Alt 26. Mär 2004, 19:04
Moin Zusammen,

nicht WM_RESIZE, sondern WM_SIZING müsste die passende Message sein.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
mumu

Registriert seit: 28. Okt 2003
Ort: Bamberg
519 Beiträge
 
#6

Re: Message beim Verkleinern von Dialogen abfangen

  Alt 27. Mär 2004, 10:31
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?
  Mit Zitat antworten Zitat
mumu

Registriert seit: 28. Okt 2003
Ort: Bamberg
519 Beiträge
 
#7

Re: Message beim Verkleinern von Dialogen abfangen

  Alt 1. Apr 2004, 13:14
??? irgendwie kapier ich das nicht ???

warum wird keine WM_SIZE/WM_SIZING
  Mit Zitat antworten Zitat
roderich
(Gast)

n/a Beiträge
 
#8

Re: Message beim Verkleinern von Dialogen abfangen

  Alt 1. Apr 2004, 13:40
warum kein WM_SIZING weiß ich zwar grad auch net...

aber das mit dem WM_PAINT ist klar, weil beim verkleinern ja nichts neugezeichnet werden muß.

Roderich
  Mit Zitat antworten Zitat
mumu

Registriert seit: 28. Okt 2003
Ort: Bamberg
519 Beiträge
 
#9

Re: Message beim Verkleinern von Dialogen abfangen

  Alt 1. Apr 2004, 20:06
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!!
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#10

Re: Message beim Verkleinern von Dialogen abfangen

  Alt 1. Apr 2004, 21:33
Zitat von mumu:
WM_SIZE bzw. WM_SIZING hab ich auch schon ausprobiert... die message wird einfach nicht aufgerufen... ka wieso.. mein hook funktioniert sonst einwandtfrei..
Doch wird sie. In der VCL allerdings komischerweise nur beim Maximieren (musst mal den entsprechenden Parameter auswerten ). Im TNA-Beitrag von Luckies Win32-API-Tutorials gibt es ein entsprechendes nonVCL-Sample mit eben dem Hinweis, dass es in der VCL so nicht funktioniert:
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".
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz