SetMenuItemInfo_ seems not to work on ...ImageMenu
Posted: Tue Jun 24, 2008 11:07 pm
I only get bold menu items when i use CreateMenu/CreatePopupMenu.

It does not work with CreateImageMenu/CreatePopupImageMenu.

Please help...
PB4.20 - jaPBe V3 - WIN XP Pro SP3

It does not work with CreateImageMenu/CreatePopupImageMenu.


Code: Select all
Enumeration
#MenuBar
#PopupMenu
EndEnumeration
Enumeration
#MenuBold
#MenuOpen
#MenuClose
#MenuPopup
#MenuQuit
EndEnumeration
Procedure.l SetMenuItemBold(MenuID.l,MenuItemPos.l)
#MIIM_STATE=1
#MFS_DEFAULT=4096
Protected mib.MENUITEMINFO
mib\cbSize=SizeOf(mib)
mib\fMask=#MIIM_STATE
mib\fState=#MFS_DEFAULT
SetMenuItemInfo_(MenuID,MenuItemPos,#False,mib)
EndProcedure
If OpenWindow(0,0,0,400,400,"BoldMenuItem",#PB_Window_SystemMenu | #PB_Window_ScreenCentered)
; If CreateImageMenu(#MenuBar,WindowID(0)) <-- no bold item!!!
If CreateMenu(#MenuBar,WindowID(0))
MenuTitle("&BoldItem")
MenuItem(#MenuOpen,"&Open")
MenuItem(#MenuClose,"&Close")
MenuBar()
MenuItem(#MenuPopup,"&Popup")
MenuBar()
MenuItem(#MenuQuit,"&Quit")
SetMenuItemBold(MenuID(#MenuBar),#MenuPopup)
EndIf
; If CreatePopupImageMenu(#PopupMenu) <-- no bold item!!!
If CreatePopupMenu(#PopupMenu)
MenuItem(#MenuOpen,"Open")
MenuItem(#MenuClose,"Close")
MenuBar()
MenuItem(#MenuBold,"- bold -")
MenuBar()
MenuItem(#MenuQuit,"Quit")
SetMenuItemBold(MenuID(#PopupMenu),#MenuBold)
EndIf
Repeat
Select WaitWindowEvent()
Case #WM_RBUTTONDOWN : DisplayPopupMenu(#PopupMenu,WindowID(0))
Case #PB_Event_Menu
Select EventMenu() ; To see which menu has been selected
Case #MenuOpen : MessageRequester("Info!", "OPEN", #MB_OK|#MB_ICONINFORMATION)
Case #MenuClose : MessageRequester("Info!", "CLOSE", #MB_OK|#MB_ICONINFORMATION)
Case #MenuBold : MessageRequester("Info!", "BOLD", #MB_OK|#MB_ICONINFORMATION)
Case #MenuPopup : DisplayPopupMenu(#PopupMenu,WindowID(0),WindowX(0)+10,WindowY(0)+60)
Case #MenuQuit : Quit = 1
EndSelect
Case #PB_Event_CloseWindow
Quit = 1
EndSelect
Until Quit = 1
EndIf
End
PB4.20 - jaPBe V3 - WIN XP Pro SP3