ON_COMMAND_RANGE
To makro umożliwia mapowanie ciągły zakres identyfikatorów poleceń do funkcji obsługi pojedynczej wiadomości.
ON_COMMAND_RANGE(id1, id2, memberFxn )
Parametry
ID-1
Identyfikator polecenia na początku ciągły zakres identyfikatorów poleceń.id2
Identyfikator polecenia pod koniec ciągły zakres identyfikatorów poleceń.memberFxn
Nazwa funkcji obsługi wiadomości, do którego są mapowane poleceń.
Uwagi
Zakres identyfikatorów zaczyna się od ID-1 i kończy się na id2.
Użycie ON_COMMAND_RANGE do mapowania zakres identyfikatorów poleceń funkcji jednego członka.Użycie ON_COMMAND do mapowania jednego polecenia funkcji składowej.Tylko jeden wpis mapy wiadomości można dopasować identyfikatora dla danego polecenia.Oznacza to, że nie można mapować polecenia na więcej niż jeden program obsługi.Więcej informacji na temat mapowania wiadomości zakresów, zobacz temat obsługi wiadomości-Mapa zakresów.
Istnieje nie automatycznego wsparcia dla zakresów mapę wiadomości, więc możesz makra należy umieścić.
Przykład
// 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);
}
Wymagania
Nagłówek: afxmsg_.h