Partager via


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

Voir aussi

Référence

ON_UPDATE_COMMAND_UI_RANGE

ON_CONTROL_RANGE

ON_COMMAND

Concepts

Macro MFC et Globals