Seite 1 von 1

Warum wurde #PB_Menu_ModernLook in PB6.21 entfernt?

Verfasst: 14.08.2025 07:06
von techniker
Hallo,

warum wurde #PB_Menu_ModernLook für CreateImageMenu() entfernt?
Wie lautet der API-Code für dieses Flag, um es zu reaktivieren?

Also 6.21 wird aus meiner Sicht immer mehr zu einem Rückschritt.. :roll:

Re: Warum wurde #PB_Menu_ModernLook in PB6.21 entfernt?

Verfasst: 14.08.2025 12:24
von mk-soft
Nicht unbedingt,
Windows unterstützt jetzt auch für PopupMenus mit Icons.
Es wird die Owner Draw Menu nicht mehr benötigt und es wird die OS API verwendet.
Somit sieht es auch OS spezifisch aus.

Code: Alles auswählen

;-TOP

Procedure UpdateWindow()
  Protected dx, dy
  dx = WindowWidth(0)
  dy = WindowHeight(0) - StatusBarHeight(0) - MenuHeight()
  ; Resize Gadgets
EndProcedure

Procedure Main()
  Protected dx, dy
  
  #WinStyle = #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_MaximizeGadget | #PB_Window_MinimizeGadget
  
  If OpenWindow(0, #PB_Ignore, #PB_Ignore, 600, 400, "Test Window", #WinStyle)
    ; MenuBar
    CreateImage(0, 16, 16, 32, #Red)
    CreateImage(1, 16, 16, 32, #Yellow)
    CreateImage(2, 16, 16, 32, #Green)
    
    CreateImageMenu(0, WindowID(0), #PB_Menu_ModernLook)
    MenuTitle("&File")
    MenuItem(1, "Stop", ImageID(0))
    MenuItem(2, "Wait", ImageID(1))
    MenuItem(3, "Go", ImageID(2))
    MenuBar()
    MenuItem(99, "E&xit")
    
    ; StatusBar
    CreateStatusBar(0, WindowID(0))
    AddStatusBarField(#PB_Ignore)
    
    ; Gadgets
    dx = WindowWidth(0)
    dy = WindowHeight(0) - StatusBarHeight(0) - MenuHeight()
    
    ; Bind Events
    BindEvent(#PB_Event_SizeWindow, @UpdateWindow(), 0)
    
    ; Main Loop
    Repeat
      Select WaitWindowEvent()
        Case #PB_Event_CloseWindow
          Select EventWindow()
            Case 0
              Break
          EndSelect
          
        Case #PB_Event_Menu
          Select EventMenu()
            Case 99
              PostEvent(#PB_Event_CloseWindow, 0, 0)
              
          EndSelect
          
        Case #PB_Event_Gadget
          Select EventGadget()
              
          EndSelect
          
      EndSelect
    ForEver
    
  EndIf
  
EndProcedure : Main()

Re: Warum wurde #PB_Menu_ModernLook in PB6.21 entfernt?

Verfasst: 14.08.2025 12:31
von techniker
Ähmm..?!? Was?

Mit #PB_Menu_ModernLook wurden die Icons mit einem blauen, vertikalen Verlauf hinterlegt.
Genau diesen Look hätte ich gerne rekonstruiert. :)

Re: Warum wurde #PB_Menu_ModernLook in PB6.21 entfernt?

Verfasst: 16.08.2025 16:10
von margro
Aus meiner Sicht wirkt der ModernLook mittlerweile wie ein RetroLook. Wahrscheinlich sieht es der Entwickler ebenso und wohl deshalb hat er ihn entfernt.

Re: Warum wurde #PB_Menu_ModernLook in PB6.21 entfernt?

Verfasst: 18.08.2025 13:38
von Andesdaf