обработчик нажатия кнопки

  • Автор темы Автор темы Dmitriy.Ch
  • Дата начала Дата начала
D

Dmitriy.Ch

Подскажите, пожалуйста.
Есть один обработчик нажатий для нескольких кнопок.
Как в этом обработчике определить какая из кнопок была нажата?
 
в обработчик обычно отправляют идентификатор объекта вызвавшего этот самый обработчик
тока это, видимо, не случай с MFC ;)
Решение - сделать обработчик для каждой кнопки и транслировать в старый метод
 
Use this macro to map a contiguous range of command IDs to a single message handler function.


ON_COMMAND_RANGE(id1, id2, memberFxn )



Parameters
id1
Command ID at the beginning of a contiguous range of command IDs.

id2
Command ID at the end of a contiguous range of command IDs.

memberFxn
The name of the message-handler function to which the commands are mapped.

Example
Copy Code
// The code fragment below shows how to use ON_COMMAND_RANGE macro
// to map a contiguous range of command IDs to a single message
// handler function (i.e. OnFileMenuItems() is the sample below). In
// addition, it also shows how to use CheckMenuRadioItem() to check a
// selected menu item and makes it a radio item.
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
// ...
ON_COMMAND_RANGE(ID_FILE_MENUITEM1, ID_FILE_MENUITEM3, OnFileMenuItems)
END_MESSAGE_MAP()

void CMainFrame::OnFileMenuItems(UINT nID)
{
CMenu* mmenu = GetMenu();
CMenu* submenu = mmenu->GetSubMenu(0);
submenu->CheckMenuRadioItem(ID_FILE_MENUITEM1, ID_FILE_MENUITEM3,
nID, MF_BYCOMMAND);
}
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab