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 comando all'inizio di un intervallo contiguo degli ID di comando.id2
ID comando alla fine di un intervallo contiguo degli ID di comando.memberFxn
Il nome della funzione di gestore 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 comando Non è quindi possibile associare un comando a più gestori. Per ulteriori informazioni sugli intervalli del messaggio di mapping, vedere Gestori per gli intervalli della mappa messaggi.
Nessun supporto automatico a intervalli della mappa messaggi, pertanto è necessario inserire 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
Intestazione: afxmsg_.h