Welche Messages bekommt die WndProc, beim Erstellen / Schließen eines Fensters
-
Es gibt WM_CRATE, die noch beim Erstellen eines Fensters gesendet wird, und WM_DESTROY. Aber wenn ich den Ablauf genauer untersuche, bekomme ich vor WM_CREATE auch schon einige Nachrichten. Allerdings kann ich da eigentlich nur die Nachrichten-Nummer abfangen, welche das dann genau ist, kann ich nicht bestimmen. In der MSDN ist einfach nichts zu finden, zu den verschiedenen Nachrichten und wann sie gesendet werden.
Ich brauche nämlich unbedingt die allererste und allerletzte Nachricht, die an mein Fenster gesendet wird, um einen Zeiger zu setzen / zu nullen.
-
Kann sein das ich mich täusche, aber it das nicht einfach beim schließen ein bool wert?
also 0 und 1?
-
Nein, nicht ganz. Ich erhalte Nachrichten vor WM_CREATE und würde gerne wissen, welche das sind.
Ich hab hier mal ein wenig Debug-Ausgabe erzeugt:
Unhandled Message: 36 Unhandled Message: 129 Unhandled Message: 131Die drei Nachrichten erhalte ich vor WM_CREATE, was sind das für welche? Sie haben auf jeden Fall mit Create-Window zu tun, denn ohne den Funktionsaufruf kommen die Nachrichten nicht!
-
Hmm, sind das Hexzahlen oder Dezimalzahlen?
-
36d => 0x24 => WM_GETMINMAXINFO
129d => 0x81 => WM_NCCREATE
131d => 0x83 => WM_NCCALCSIZEUnd nächstesmal einfach selber in die "WinUser.h" schauen

-
Danke, das hab ich in der zwischenzeit auch schon entdeckt. Visual Studio hat j diese tolle "Go to Definition"-Funktion.
Erhalte ich die Nachrichten immer in der Folge?Ich muss mir das noch genauer ansehen, denk ich...
Ehrm, gibt es in der MSDN irgendwo eine Zusammenfassung, bei der alle WM-Nachrichten aufgelistet werden? Wenn ich nach einzelnen Nachrichten suche, finde ich immer einen Eintrag, aber keine Übersicht über alle Nachrichten...
-
ne es hängt auch davon ab was für flags das fenster hat, was für nachrichten du kriegt und welche die erste ist. da solltest du dich nicht so drauf verlassen