Verfasst: 16.10.2008 22:38
Nein, ist doch dasselbe wie ein Menu, lediglich das man es als PopUp einblendet.Kaeru Gaman hat geschrieben:für POPUP-menus gibts dochn eigenes Disable...?
Nein, ist doch dasselbe wie ein Menu, lediglich das man es als PopUp einblendet.Kaeru Gaman hat geschrieben:für POPUP-menus gibts dochn eigenes Disable...?
Code: Alles auswählen
#MenNr = 1
If OpenWindow(0, 200, 200, 200, 100, "DisableMenuItem Example")
If CreateMenu(0, WindowID(0))
MenuTitle("Project")
MenuItem(1, "Open")
MenuItem(2, "Save")
MenuTitle("Edit")
MenuItem(3, "Copy")
MenuItem(4, "Paste")
MenuTitle("Options")
MenuItem(3, "Color")
MenuItem(4, "Position")
ButtonGadget(0, 5, 5, 80, 20, "Disable Menu", #PB_Button_Toggle)
EndIf
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_Gadget
If EventGadget() = 0
MenID = MenuID(0)
If GetGadgetState(0)
EnableMenuItem_(MenID, #MenNr, #MF_BYPOSITION | #MF_GRAYED)
Else
EnableMenuItem_(MenID, #MenNr, #MF_BYPOSITION | #MF_ENABLED)
EndIf
RedrawWindow_(WindowID(0), 0, 0, #RDW_FRAME | #RDW_INVALIDATE)
EndIf
EndIf
Until Event = #PB_Event_CloseWindow
EndIf
Code: Alles auswählen
Procedure DisableMenu(Menu, State)
If IsMenu(Menu)
Protected i
For i = 0 To $FFFF ; sollte ausreichen ;-)
DisableMenuItem(Menu, i, State)
Next i
EndIf
EndProcedure
If OpenWindow(0, 200, 200, 200, 100, "DisableMenuItem Example")
ButtonGadget(0, 5, 5, 80, 20, "Disable Menu", #PB_Button_Toggle)
If CreatePopupMenu(0)
MenuItem(1, "Open")
MenuItem(2, "Save")
MenuItem(3, "Copy")
MenuItem(4, "Paste")
MenuItem(5, "Color")
MenuItem(6, "Position")
EndIf
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_Gadget
If EventGadget() = 0
DisableMenu(0, GetGadgetState(0))
EndIf
EndIf
If GetAsyncKeyState_(#VK_RBUTTON)
DisplayPopupMenu(0, WindowID(0))
EndIf
Until Event = #PB_Event_CloseWindow
EndIf