Бьюсь над динамическим меню своими силами, получилось его создать, через сабклассинг привязать к пунктам события на щелчок.
Но вот другая проблема, мне нужно при нажатии на пункт меню выделить его галочкой, а при последующем нажатии на этот же пункт - сбросить галку.
Сначало я формирую структуру "info" при обработке сообщения WM_MENUSELECT над каждым пунктом меню (с помощью ф-ции GetMenuItemInfo).
Затем обрабатываю сообщение WM_COMMAND
Создал процедуру, обрабатываемую при WM_COMMAND (при щелче на нужном пункте):
......
if info.fState = MFS_UNCHECKED then
info.fMask = MIIM_STATE
info.fType = MFS_CHECKED
SetMenuItemInfo hMenu, идент. пункта меню (беру из ф-цииWndProc), 0, info
Exit Sub
End If
if info.fState = MFS_CHECKED then
info.fMask = MIIM_STATE
info.fType = MFS_UNCHECKED
SetMenuItemInfo hMenu, идент. пункта меню (беру из ф-цииWndProc), 0, info
End If
........
Получается, что при щелчке галочка на пункте ставится, а при следующем клике - не сбрасывается.
Скорее всего - чтото не правильно, только что? Подскажите плиз.