Как определить отправителя сообщения WM_COMMAND?

Я использую VS 2010 C++. У меня есть диалоговое окно, содержащее массив из 126 идентичных кнопок управления, имеющих одинаковое значение для идентификатора элемента управления.
Когда кнопка нажата и диалоговое окно хоста получает полученное сообщение WM_COMMAND, как диалоговое окно может определить, какая кнопка нажата? Я мог использовать 126 различных значений идентификатора элемента управления, но я надеялся на что-то более краткое.
Кто-нибудь может помочь?

1 ответ

Сам идентификатор означает "что идентифицирует" объект. Таким образом, вам нужно будет иметь отдельный контрольный идентификатор.

Должно быть что-то особенное в каждом элементе управления кнопки, чтобы идентифицировать определенный.

Если вы хотите сохранить один и тот же идентификатор элемента управления, вы можете отслеживать дескриптор (HWND) каждой создаваемой кнопки и использовать параметр LPARAM в сообщении WM_COMMAND, чтобы идентифицировать элемент управления по дескриптору.

Если у вас есть уникальный текст для каждой кнопки, вы можете использовать свойство текста также кнопки.

Другие вопросы по тегам