2011-01-05 2 views
2

Не знаете, что указывает этот код 641. Кто-нибудь знает, как обратить вспять смысл этого кода?Что такое кодирование оконного сообщения 641?

--- EDIT ---

Я также посмотрел в файл заголовка и обратите внимание, есть WM_IME_SETCONTEXT = 641, но не уверен, что это делать с моим приложением.

У меня есть CListCtrl в графическом интерфейсе, и нарисуйте элемент управления CEdit над своей ячейкой, когда ячейка дважды нажата. Когда CEdit контролирует фокус, я нажимаю «ESC», центр управления CEdit убит, но столбцы и строки CListCtrl полностью исчезают после получения этого сообщения. Возможно, я пропустил некоторые другие подробности.

--- Сложение ---

То, что я сделал, как решение для обработки клавиши «ESC» в OnKeyDown моего редактировать элемента управления() обработчик, просто скрыть окно управления редактирования, таким образом, не далее сообщение не отправлено родительский контроль. Я думаю, что ключ «ESC» должен вызывать недействительность окна, например сообщение. Но я не знаю, почему он распространяется на родителя.

ответ

3

Это WM_IME_SETCONTEXT. Я не знаю, как правильно их искать, кроме grepping заголовков SDK для числа или шестнадцатеричного числа; от WINUSER.H:

#define WM_IME_SETCONTEXT    0x0281 

Это не всегда работает для перечислений Windows, так как они могут быть определены как (OTHER_CONSTANT + 1) и т.д. К счастью, худший набор из них, коды сообщений об ошибках, есть поиск UTIL err.exe в Platform SDK.

+0

Я редактировал свой вопрос более подробно. – Sheen

2

Вы получите сообщения, которые не распознаете. Правильный способ их обработки - переадресация на DefWindowProc.

Смежные вопросы