Что такое кодовое сообщение Windows 641? - PullRequest
2 голосов
/ 05 января 2011

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

--- EDIT ---

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

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

--- ДОБАВЛЕНИЕ ---

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

Ответы [ 2 ]

3 голосов
/ 05 января 2011

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

#define WM_IME_SETCONTEXT               0x0281

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

2 голосов
/ 05 января 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...