message 518, welches WM_*??



  • Hallo,

    ich fange im eventhandle eine message ab und mit sprintf(buff, "%d", msg) ist buff 518, so meine Frage welche Message entspricht der nummer 518. Normalerweise beginnen die ja mit WM_* und wo kann ich das nachlesen, damit ich in Zukunft selber schauen kann, danke.



  • Ich hab' auf die Schnelle einen Eintrag #define WM_RBUTTONDBLCLK 0x0206 gefunden, das sollte deine Nachricht sein.

    (zum Weg: Unter VS kannst du den Namen einer beliebigen Nachricht eingeben und per "go to Definition" herausfinden, wo sie steht - ich bin dabei in der <winuser.h> gelandet, wo ich in der #define-Sammlung nur noch den Wert 0x0206 (==518 als Hex) suchen mußte)



  • Du kannst in VS einfach im Watch-WIndow folgendes eintragen:

    518,wm
    

    bzw.

    msg,wm
    

    Dann kommt als ausgabe auf der rechten Seite:

    WM_RBUTTONDBLCLK
    

    😉



  • Ja danke für die Antworten, ich hatte es dann mittlerweile auch in der Winuser.h gefunden, als ich nach dem HEX Wert von 518 die Headerdateien durchsucht habe. Mein Fehler nur, daß ich in der resource.h einer Konstanten den Wert 518 zugewiesen habe. So jetzt hab ich dazu noch einige Fragen, die ihr hoffentlich auch beantworten könnt. Gibt es dieses Watch-Window auch in ms vs6, wenn ja wo. Und ab welcher Nummer ist es sinnvoll in der resource.h Konstanten zu definieren, damit mir diese Überschneidung nicht mehr passiert.



  • Sehr ungünstig - der Bereich der normalen Windows-Nachrichten ist für deine eigenen Nachrichten nicht zulässig. Besser geeignet sind Werte oberhalb von WM_USER (wobei in diesem Bereich auch private Nachrichten einzelner Steuerelemente stehen können) oder WM_APP (hier bist du wirklich alleine).



  • Also das wäre dann der Bereich von 0x8000 bis 0xFFFF ist das richtig?



  • Das kann man so nicht sagen. In jedem neuen SDK können diese Werte anders sein. Darum solltest du unbedingt die #define WM_USER & WM_APP, wie CStoll gepostet hat, benutzen! Die sind ja dafür da damit du dich nicht mit den Zahlen rumärgern musst und du kannst sicher sein das es funktioniert.
    ist ja auch ganz easy.

    #define MY_MESSAGE WM_USER + 1
    usw.

    schirrmie


Anmelden zum Antworten