Warum wurde #PB_Menu_ModernLook in PB6.21 entfernt?

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
techniker
Beiträge: 184
Registriert: 27.01.2016 11:08
Wohnort: BY

Warum wurde #PB_Menu_ModernLook in PB6.21 entfernt?

Beitrag 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:
Never change a running system - Never run a changed system!
(PB 6.20 LTS [x86])
Benutzeravatar
mk-soft
Beiträge: 3852
Registriert: 24.11.2004 13:12
Wohnort: Germany

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

Beitrag 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()
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Benutzeravatar
techniker
Beiträge: 184
Registriert: 27.01.2016 11:08
Wohnort: BY

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

Beitrag 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. :)
Never change a running system - Never run a changed system!
(PB 6.20 LTS [x86])
Benutzeravatar
margro
Beiträge: 20
Registriert: 17.07.2024 14:25

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

Beitrag 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.
PureBasic 6.12 LTS (x64) * Windows 11 (x64)
Antworten