BOOL AppendMenu(
HMENU hMenu, // handle to menu to be changed
UINT uFlags, // menu-item flags
UINT uIDNewItem, // menu-item identifier or handle of drop-down menu or submenu
LPCTSTR lpNewItem // menu-item content
);
Menu ID - Word или Cardinal?
Код:
А при вызове WM_COMMAND возвращается 2x байтное
Код:
WM_COMMAND
wNotifyCode = HIWORD(wParam); // notification code
wID = LOWORD(wParam); // item, control, or accelerator identifier
hwndCtl = (HWND) lParam; // handle of control
wNotifyCode = HIWORD(wParam); // notification code
wID = LOWORD(wParam); // item, control, or accelerator identifier
hwndCtl = (HWND) lParam; // handle of control
Как мне запихнуть указатель или объект в пункт меню?
Код:
SetMenuItemInfo(HMENU hMenu, UINT uItem, BOOL fByPosition,LPMENUITEMINFO lpmii)
в структуре MENUITEMINFO поле fMask = MIIM_DATA, а поле dwItemData - данные.
Цитата:
Menu ID - Word или Cardinal?
Это смотря какое меню ты создаешь! :)
Если пункт меню - то Word, если подменю - то Cardinal
И сразу второй вопрос можно ли в WM_COMMAND для меню получать не ID а Position?
Код:
HMENU GetMenu(HWND)
Для вычисления позиции:
Код:
int GetMenuPosFromID(HMENU hmenu, UINT id);
Значит мне остается только следить за уникальностью MenuItemID...
Все ясно, всем спасибо!
3.ъ1.[QUOTE=lifs]
Для вычисления позиции:
Код:
int GetMenuPosFromID(HMENU hmenu, UINT id);
[/QUOTE]
я думал id везде нулями забить и работать чисто с позицией, теперь понял - глупость.