ON_COMMAND_RANGE
Utilisez la macro pour mapper une plage contiguë de commandes ID à une seule fonction gestionnaire des messages.
ON_COMMAND_RANGE(id1, id2, memberFxn )
Paramètres
id1
ID de commande au début d'une plage contiguë d'IDs de commande.id2
ID de commande à la fin d'une plage contiguë d'IDs de commande.memberFxn
Le nom de la fonction gestionnaire des messages à laquelle les commandes sont mappées.
Notes
La plage d'IDs démarre avec id1 et se termine avec id2.
Utilisez ON_COMMAND_RANGE pour mapper une plage de commandes ID à une fonction membre. Utilisez ON_COMMAND pour mapper une commande unique à une fonction membre. Une seule entrée de la table des messages peut correspondre à un ID de commande données Ceci étant, vous ne pouvez pas mapper une commande à plus d'un gestionnaire. Pour plus d'informations sur les plages de message de mappage, consultez Gestionnaires pour les plages de table des messages.
Il n'existe aucune prise en charge automatique des plages de table des messages, vous devez donc placer la macro vous-même.
Exemple
// 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. OnRangeCmds() in 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(CChildFrame, CMDIChildWnd)
ON_COMMAND_RANGE(ID_COMMAND_RANGECMD1, ID_COMMAND_RANGECMD3, &CChildFrame::OnRangeCmds)
END_MESSAGE_MAP()
void CChildFrame::OnRangeCmds(UINT nID)
{
CMenu* mmenu = AfxGetMainWnd()->GetMenu();
CMenu* submenu = mmenu->GetSubMenu(5);
submenu->CheckMenuRadioItem(ID_COMMAND_RANGECMD1, ID_COMMAND_RANGECMD3,
nID, MF_BYCOMMAND);
}
Configuration requise
En-tête : afxmsg_.h