Цитата
все работает, но вот только на пункте меню, которое раскрывается в submenu ничего не показывает
Для этого случая мне видится такое решение:
1. Перехватывать сообщения WM_INITMENUPOPAP (устанавливаем флаг), WM_UNINITMENUPOPUP (сбрасываем флаг).
2. Поставить внутренний хук на WM_RBUTTONUP - если флаг установлен и в хуке хэндл меню, значит пользователь выбрал этот пункт меню и нажал правую клавишу мыши.
Цитата
Вот если бы соорудить что-то похожее на конструктор MainMenu или PopupMenu как это реализовано в Delphi вот это было бы здорово.
1. Посмотри исходники класса TMenuItem
2. Создай форму на которой будешь динамически создавать буттоны (или панели, связанные с каждым итем меню, предварительно просканировав меню рекурсивно).
3. Для каждого созданного элемента, создай необходимые обработчики.