Возникла такая проблема:
Создаю меню:
#define WM_DYNA_MENU_OFFSET 255
#define WM_DYNA_MENU_RANGE 255
#define WM_DYNA_MENU_START WM_USER + WM_DYNA_MENU_OFFSET
#define WM_DYNA_MENU_END WM_DYNA_MENU_START + WM_DYNA_MENU_RANGE
...
CMenu Menu;
Menu.CreatePopupMenu();
for( long i =0; i < length; i++)
{
MENUITEMINFO menuItemInfo;
menuItemInfo.cbSize = sizeof( MENUITEMINFO );
menuItemInfo.fMask = MIIM_STRING | MIIM_ID;
menuItemInfo.wID = WM_DYNA_MENU_START + i;
char sData[255];
sprintf( sData,"<item#%d>",i);
menuItemInfo.dwTypeData = sData;
menuItemInfo.cch = strlen(sData);
Menu.InsertMenuItem( WM_DYNA_MENU_START + i, &menuItemInfo );
}
...
Menu.TrackPopupMenu(...);
...
так вот как мне получить нотификацию о нажатии на менюитем??
пробовал так:
...
ON_NOTIFY_RANGE( NM_CLICK, WM_DYNA_MENU_START, WM_DYNA_MENU_END, OnItemClick )
...
void CLeftView::OnItemClick( UINT id, NMHDR * pNotifyStruct, LRESULT * pResult )
{
...//сюда не попадает
}
Что я делаю не так???
куда уходят нотификации и кому они должны быть адресованы.
Спасибо. Тема закрыта.