ON_COMMAND_RANGE
Bu makro, bir tek ileti işleyicisi işlevi komut kimliklerini bitişik aralığını eşleştirmek için kullanın.
ON_COMMAND_RANGE(id1, id2, memberFxn )
Parametreler
id1
Komut Kimliği birbirini izleyen bir komut kimliklerini başında.id2
Komut Kimliği birbirini izleyen bir komut kimliklerini sonunda.memberFxn
Komutları eşlenen ileti işleyicisi işlevinin adı.
Notlar
Aralık kimlikleri ile başlayan id1 ve biten id2.
Use ON_COMMAND_RANGE bir üye işlev için komut kimliklerini aralığını eşleştirmek için.Use on_command üye işlev için tek bir komut eşleştirmek için.Verilen komut kimliği yalnızca bir ileti eşleme girdisini eşleşebilirYani, birden fazla işleyicisine bir komut eşlenemez.İleti aralığı eşleme hakkında daha fazla bilgi için bkz: ileti eşleme aralıkları için işleyiciler.
Böylece kendinizi makro yerleştirmelisiniz ileti eşleme aralıklar için otomatik desteği yoktur.
Örnek
// 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);
}
Gereksinimler
Başlık: afxmsg_.h