Seite 1 von 1

Falsche Werte bei Menuheight oder WindowHeight unter QT

Verfasst: 18.07.2025 21:42
von matbal
Offenbar gibt es Probleme mit WindowHeight oder MenuHeight oder der Kombinantion von beiden. Wenn ich für die Berechnung der Gadget-Größen und -Positionen diese Funktionen benutze, stimmt das Ergebnis unter GTK. Aber unter QT entsteht unten immer ein ungenutzter Rand. So, als ob der Platz für das Menü mehrfach abgezogen wird.

Zum Nachvollziehen diesen Code einfach mal unter GTK und dann unter QT ausführen und die Fensterbreite verändern. Unter QT wird das Gadget kleiner.

Aufgefallen ist mir das Problem mit der DialogLib zusammen mit Hex0rs AddStuff.pbi. Plötzlich haben die Programm unten diesen unbenutzten Rand.

Code: Alles auswählen

EnableExplicit

Enumeration 
   #FormMain
   #FormMain_Editor
   #MenuMain
   #MenuMain_Quit
EndEnumeration

Procedure FormMain_Resize()
   Protected ww, wh, x, y, w, h
   ww = WindowWidth(#FormMain)
   wh = WindowHeight(#FormMain)
   
   x = 10
   y = 10
   w = ww - 20
   h = wh - 20 - MenuHeight()
   
   ResizeGadget(#FormMain_Editor, x, y, w, h)
EndProcedure


Procedure FormMain_Open()
   OpenWindow(#FormMain, 100, 100, 400, 300, "Main", #PB_Window_SizeGadget|#PB_Window_SystemMenu)
   
   If CreateMenu(#MenuMain, WindowID(#FormMain))
      MenuTitle("Datei")
      MenuItem(#MenuMain_Quit, "Beenden")
   EndIf
   
   EditorGadget(#FormMain_Editor, 0, 0, 0, 0)
   FormMain_Resize()
EndProcedure


FormMain_Open()

Repeat
   Define event = WaitWindowEvent()
   Select event
      Case #PB_Event_SizeWindow
         FormMain_Resize()
   EndSelect
Until event = #PB_Event_CloseWindow

Re: Falsche Werte bei Menuheight oder WindowHeight unter QT

Verfasst: 18.07.2025 22:31
von jogo
das muß an QT liegen, mir ist das auch schon mal aufgefallen, als ich temporär QT probiert habe. QT reserviert wahrscheinlich unten Platz. Den kannst du auch nicht mit Gadgets oder ähnlichen verwenden.