Aracılığıyla paylaş


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

Ayrıca bkz.

Başvuru

ON_UPDATE_COMMAND_UI_RANGE

ON_CONTROL_RANGE

ON_COMMAND

Kavramlar

mfc makrolar ve Globals