Use this macro to map a contiguous range of command IDs to a single message handler function.
ON_COMMAND_RANGE(id1, id2, memberFxn ) |
Parameters
Remarks
The range of IDs starts with id1 and ends with id2.
Use ON_COMMAND_RANGE to map a range of command IDs to one member function. Use ON_COMMAND to map a single command to a member function. Only one message-map entry can match a given command ID. That is, you can't map a command to more than one handler. For more information on mapping message ranges, see Handlers for Message-Map Ranges.
There is no automatic support for message map ranges, so you must place the macro yourself.
Example
Visual C++ | Copy Code |
---|---|
// 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); } |