Seite 1 von 1

PopUpMenu mit FETTEN MenuItems

Verfasst: 09.11.2004 14:26
von real
Hi,

wie kann ich in einem PopUpMenu ein MenuItem fett darstellen?

Gruß
René

Verfasst: 09.11.2004 16:02
von wichtel
aus dem englishen Forum von GreenGiant:

Code: Alles auswählen

#MIIM_STATE=1 
#MFS_DEFAULT=4096 

OpenWindow(0,0,0,400,400,#PB_Window_SystemMenu | #PB_Window_ScreenCentered,"test") 
CreatePopupMenu(0) 
MenuItem(0,"Normal1") 
MenuItem(1,"Normal2") 
MenuItem(2,"Bold") 
MenuItem(3,"Normal3") 

bold.MENUITEMINFO 
bold\cbSize=SizeOf(bold) 
bold\fMask=#MIIM_STATE 
bold\fState=#MFS_DEFAULT 
SetMenuItemInfo_(MenuID(),2,#True,bold) ;2 specifies the item to be made bold 

Repeat 
ev=WaitWindowEvent() 
  If ev=#WM_RBUTTONUP 
    DisplayPopupMenu(0,WindowID(0)) 
  EndIf 
Until ev=#PB_Event_CloseWindow

Verfasst: 09.11.2004 17:40
von real
Cool! Danke :D *freu*

Verfasst: 09.11.2004 19:23
von PBZecke
Einfacher sollte es aber auch mit SetMenuDefaultItem_() gehen, habe es probiert, kriege aber nur Befehle in der MenuBar Fett, keine Items. Weiß einer wie es gehen könnte?

Verfasst: 09.11.2004 21:36
von Falko
Ich glaube, das ist jetzt missverstanden. Mache mal trotzdem erstmal den obigen Code mit "default" dazu. Oder bezog sich das auf den Menütitel?

Code: Alles auswählen

MenuTitle("Project") 
MenuItem(0,"Default")
MenuItem(1,"Normal2") 
MenuItem(2,"Bold") 
MenuItem(3,"Normal3") 

bold.MENUITEMINFO 
bold\cbSize=SizeOf(bold) 
bold\fMask=#MIIM_STATE 
bold\fState=#MFS_DEFAULT 
SetMenuDefaultItem_(MenuID(),0,0); Default auf 2. MenuItem
SetMenuItemInfo_(MenuID(),2,#True,bold) ;2 specifies the item to be made bold 

Repeat 
ev=WaitWindowEvent() 
  If ev=#WM_RBUTTONUP 
    DisplayPopupMenu(0,WindowID(0)) 
  EndIf 
Until ev=#PB_Event_CloseWindow 

Verfasst: 09.11.2004 22:02
von wichtel
@PBzecke: wieso, das tut es doch. Wirklich einfacher. Es sei denn du willst mehr als ein Item bold darstellen.

Verfasst: 09.11.2004 22:36
von PBZecke
Ja, mit MenuID() funktioniert's. Ich hatte den Rückgabewert von CreateMenu() benutzt, da ich nicht wusste dass es ein MenuID() in PB gibt.

Habe ihn in der Hilfe jedenfalls nicht gefunden.

Verfasst: 11.11.2004 00:54
von Andre
PBZecke hat geschrieben:Ja, mit MenuID() funktioniert's. Ich hatte den Rückgabewert von CreateMenu() benutzt, da ich nicht wusste dass es ein MenuID() in PB gibt.

Habe ihn in der Hilfe jedenfalls nicht gefunden.
Hm, habe ich auch grade nochmal überprüft. Ist tatsächlich nicht vorhanden (auch nicht in der originalen englischen Anleitung)... :roll:

Werde das mit Fred noch klären, ob "nicht offizieller Befehl" oder bloß in der Hilfe vergessen. Dann wird dies natürlich nachgeholt...

Verfasst: 11.11.2004 00:57
von PBZecke
Nützlich ist er auf jeden Fall, wie man am Beispiel leicht erkennen kann!