ON_COMMAND_RANGE
Utilisez cette macro pour mapper une plage contiguë les ID de commande à une fonction gestionnaire de messages unique.
ON_COMMAND_RANGE(id1, id2, memberFxn )
Paramètres
id1
ID de commande au début d'une plage contiguë les ID de commande.id2
ID de commande à la fin d'une plage contiguë les ID de commande.memberFxn
Le nom de la fonction gestionnaire de messages à laquelle les commandes sont mappées.
Notes
La plage d'identificateurs sous id1 et se avec id2.
Utilisez ON_COMMAND_RANGE pour mapper une plage des ID de commandes à 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 données de commandeAutrement dit, vous ne pouvez pas mapper une commande à plusieurs gestionnaire.Pour plus d'informations sur les plages de message de mappage, consultez Gestionnaires pour les chaînes de table des messages.
Il n'existe aucune prise en charge automatique des plages de table des messages, vous devez 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
Header: afxmsg_.h