ON_COMMAND_RANGE
Utilizzare questa macro per eseguire il mapping di un intervallo contiguo di ID di comandi a una singola funzione del gestore dei messaggi.
ON_COMMAND_RANGE(id1, id2, memberFxn )
Parametri
id1
ID di comando all'inizio di un intervallo contiguo degli ID di comando.id2
ID di comando alla fine di un intervallo contiguo degli ID di comando.memberFxn
Il nome della funzione del gestore dei messaggi a cui i controlli vengono mappati.
Note
L'intervallo degli ID inizia con id1 e termina con id2.
Utilizzare ON_COMMAND_RANGE per eseguire il mapping di un intervallo di ID di comandi a una funzione membro.Utilizzare ON_COMMAND per eseguire il mapping di un solo comando a una funzione membro.Solo una voce della mappa messaggi può corrispondere a un ID di comandoNon è quindi possibile eseguire il mapping di un comando a un gestore.Per ulteriori informazioni sugli intervalli del messaggio di mapping, vedere Gestori per gli intervalli della mappa messaggi.
Non è disponibile il supporto automatico a intervalli della mappa messaggi, pertanto è necessario posizionare la macro manualmente.
Esempio
// 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);
}
Requisiti
Header: afxmsg_.h