2011-01-05 9 views
2

Nicht sicher, was dieser Code 641 anzeigt. Weiß jemand, wie man diesen Code rückwärts sieht?Was ist Window Message 641 codiert?

--- EDIT ---

Ich sah auch in Header-Datei und merke, es gibt WM_IME_SETCONTEXT = 641, aber nicht sicher, was es mit meiner Anwendung zu tun ist.

Ich habe eine CListCtrl in der GUI und zeichnen ein CEdit-Steuerelement über seine Zelle, wenn auf die Zelle doppelt geklickt wird. Wenn CEdit im Fokus ist, drücke ich 'ESC', CEdit Steuerfokus getötet, aber CListCtrl Spalten und Zeilen verschwinden vollständig, nachdem sie diese Nachricht erhalten. Vielleicht habe ich ein paar andere Details verpasst.

--- --- ADDITION

Was ich als Lösung getan habe, ist ‚ESC‘ Taste in meiner Bearbeitungssteuer OnKeyDown() -Prozedur zu handhaben, zu bearbeiten Kontrollfenster einfach verstecken, so dass keine weitere Nachricht gesendet Elternkontrolle. Ich denke, der 'ESC' Schlüssel muss eine Ungültigkeit des Fensters verursachen wie eine Nachricht. Aber ich weiß nicht, warum es zum Elternteil propagiert.

Antwort

3

Es ist WM_IME_SETCONTEXT. Ich kenne keine gute Möglichkeit, diese nachzuschlagen, außer die SDK-Header für die Nummer oder die Hexadezimalzahl zu überschreiben; von Winuser.h:

#define WM_IME_SETCONTEXT    0x0281 

Dies immer für Windows Aufzählungen nicht funktioniert, da sie als (OTHER_CONSTANT + 1) usw. Zum Glück das schlimmste Satz dieser definiert werden kann, müssen die Fehlermeldung Codes, eine Lookup-util err.exe im Platform SDK.

+0

Ich habe meine Frage mit weiteren Details bearbeitet. – Sheen

2

Sie erhalten Nachrichten, die Sie nicht erkennen. Die richtige Vorgehensweise ist die Weiterleitung an DefWindowProc.

Verwandte Themen