Seite 1 von 1

Bräuchte Hilfe mit PopupMenu

Verfasst: 06.02.2011 13:27
von tinux
Guten tag,
Ist es möglich, in ein PopupMenu ohne „MenuTitle“ ,beim SubMenu ein Bild einzufügen?
Danke im vorraus.

Bild

Re: Bräuchte Hilfe mit PopupMenu

Verfasst: 06.02.2011 16:25
von RSBasic

Code: Alles auswählen

EnableExplicit

Define EventID

;LoadImage(1,"...\Grafik.bmp",0)
CreateImage(1,16,16,32)

If OpenWindow(0,0,0,500,400,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  
  If CreatePopupMenu(1)
    MenuItem(1,"Cut")
    MenuItem(2,"Copy")
    MenuItem(3,"Paste")
    MenuBar()
    OpenSubMenu("Options")
    MenuItem(4,"Window...")
    MenuItem(5,"Gadget...")
    CloseSubMenu()
    MenuBar()
    MenuItem(6,"Test-Item")
    
  EndIf
  
  SetMenuItemBitmaps_(MenuID(1),4,#MF_BYPOSITION,ImageID(1),ImageID(1))
  
  Repeat
    EventID=WaitWindowEvent()
    If GetAsyncKeyState_(#VK_RBUTTON)<>0
      DisplayPopupMenu(1,WindowID(0))
    EndIf 
    If EventID = #PB_Event_CloseWindow
      End
    EndIf
  ForEver
EndIf

Re: Bräuchte Hilfe mit PopupMenu

Verfasst: 06.02.2011 16:44
von tinux
Vielen Dank! @RSBasic

Re: Bräuchte Hilfe mit PopupMenu

Verfasst: 06.02.2011 23:10
von Mr.L
Wenn die Position nicht bekannt ist kann man auch folgendes machen:

Code: Alles auswählen

...
ID = OpenSubMenu("Options")
SetMenuItemBitmaps_(MenuID(1),ID,#MF_BYCOMMAND,ImageID(1),ImageID(1))
...

Re: Bräuchte Hilfe mit PopupMenu

Verfasst: 06.02.2011 23:27
von RSBasic
@Mr.L
Erst dachte ich, das was du vorgeschlagen hast, ist nicht möglich, da OpenSubMenu() laut PB-Hilfe gar kein Rückgabewert hat.
Aber nachdem ich deins getestet hab, musste ich feststellen, dass dieser Befehl tatsächlich einen Rückgabewert hat.
Funktioniert super, danke für den Tipp :allright:

Woher weißt du das eigentlich? Einfach durch Ausprobieren?
Das sollte eigentlich in der Hilfe stehen, dass eine Handle-Nummer zurückgegeben wird. (Jedenfalls steht das nicht in der German-Hilfe. ;))

Re: Bräuchte Hilfe mit PopupMenu

Verfasst: 07.02.2011 00:28
von Mr.L
Ja, war ein Zufallstreffer :)
Also lieber mit Vorsicht benutzen, evtl. ändert sich ja der Rückgabewert in zukünftigen PB-Version.