| |
|
|
Nico Madysa | Der Titel sagt alles: Kann mir bitte jemand verständlich erklären, was es mit Notify auf sich hat und wie man es mit XProfan verwendet? |
|
|
| |
|
|
|
Michael Wodrich | Diese Message senden Programmteile, die auf sich aufmerksam machen wollen (da gibt es eine ganze Menge).
Da müssen dann die Message-Parameter ausgewertet werden um zu erkennen, wer die Message abgesetzt hat und wofür.
Einige Calendar-Funktionen senden solch eine Message - ebenso die Manifest-Ressource. Sollte man bei M$ im MSDN oder im TechNet genauer nachlesen.
Schöne Grüße Michael Wodrich |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 13.05.2006 ▲ |
|
|
|
|
Frank Abbing | Grundsätzlich ist es ja so, dass jedes Fenster diverse Messages von Programmen oder von Windows selber erhalten kann. Die meissten Messages haben eine immer gleich bleibende Funktionen und deswegen einen eigenen Namen/Nummer. Notify-Messages sind einfach gesammelte kleinere Messages, die keine gesonderte Nummer/Namen erhalten haben, weil sie in der Funktion ähnlich sind. Notify ist also nur der Sammelbegriff. Die Verarbeitung dieser Messages ist unterschiedlich. Eine Notify-Message übergibt einen Zeiger auf eine Struktur, die wiederum Unterstrukturen gespeichert haben können. Innerhalb dieser Strukturen werden auch Parameter übergeben, welche wichtig für die jeweilige Message sind. Das ist aber von Message zu Message ganz verschieden, genauso, wie auch verschiedene Strukturen benutzt werden. Hier hilft nur ein Blick in die Windows-Doku, um zu erfahren, wie eine Message ausgelesen, bzw. erzeugt wird.
Notifies mit Profan zu verarbeiten ist nicht immer ganz einfach, weil Profan dem User viele unbequeme Dinge abnehmen will. Wer aber alle Messages erfahren und bearbeiten will, kommt um das Subclassen eines Fensters nicht herum, aber auch das ist mit Profan etwas heikel, weil auch diese Programmteile nicht nativ abgearbeitet werden. Die besten Erfahrungen habe ich mit externen Dlls gemacht, welche das Subclassing beinhalten. Die Listview.dll oder die SK_Control.dll sind solche Beispiele. So ist es möglich, ALLE Messages zu empfangen, auszuwerten, umzulenken, abzubrechen, herauszuzögern, modifizieren, usw.
So, viel Theorie, aber hoffentlich etwas verständlich. |
|
|
| |
|
|
|
Nico Madysa | So, danke auf alle Fälle für die Erklärungen. Ich habe mich mit Dietmar und der Profan.hlp noch etwas schlauer gemacht. Soviel ich verstanden habe, brechen Notify-Meldungen ein Waitinput ab. Das würde heißen, dass z.B. ein Button eine Notify-Meldung schickt, wenn auf ihn geklickt wird(wenn das falsch ist, bitte korrigieren!). Und meine Frage wäre nun konkret: Könnte ich ein Element nun dazu bringen, bei einem bestimmten Ereignis eine Notify-Meldung zu schicken? Z.B. ein Fenster beendet ein Waitinput, sobald sich die Maus in einem bestimmten Bereich befindet (echt nur ein Beispiel!). |
|
|
| |
|
|
|
Nico Madysa | [quote:63a0343175]Hier hilft nur ein Blick in die Windows-Doku, um zu erfahren, wie eine Message ausgelesen, bzw. erzeugt wird.[/quote:63a0343175] Argh, sorry, habe ich überlesen! |
|
|
| |
|
|