Re: Maximale Fenstergröße berechnen (OpenWindow)
Verfasst: 20.07.2013 14:45
Perfekt - Danke!
Erstaunlich was man alles machen muss nur um herauszubekommen wie groß ein Fenster sein darf!
Gruß
Daffy
Code: Alles auswählen
EnableExplicit
Define TaskBarHeight, DesktopWorkArea.RECT
Define Event.i
Define Quit.i
Global MaxHeight.i, MaxWidth.i
Enumeration
#WindowTest
#WindowMain
EndEnumeration
Enumeration
#MenuMain
EndEnumeration
ExamineDesktops()
OpenWindow(#WindowTest, 0, 0, 100, 100, "", #PB_Window_Invisible|#PB_Window_SystemMenu|#PB_Window_SizeGadget)
Global MaxWidth.i = DesktopWidth(0) - (WindowWidth(#WindowTest, #PB_Window_FrameCoordinate)-WindowWidth(#WindowTest, #PB_Window_InnerCoordinate))
Global MaxHeight.i = DesktopHeight(0) - (WindowHeight(#WindowTest, #PB_Window_FrameCoordinate)-WindowHeight(#WindowTest, #PB_Window_InnerCoordinate))
SystemParametersInfo_(#SPI_GETWORKAREA, 0, @DesktopWorkArea.RECT, 0)
TaskBarHeight = GetSystemMetrics_(#SM_CYSCREEN) - DesktopWorkArea\Bottom
MaxHeight.i=MaxHeight.i - TaskBarHeight
CloseWindow(#WindowTest)
Debug "MaxBreite="+Str(MaxWidth.i)
Debug "MaxHöhe="+Str(MaxHeight.i)
OpenWindow(#WindowMain, 0, 0, MaxWidth.i, MaxHeight.i, "WindowName", #PB_Window_TitleBar | #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget)
CreateMenu(#MenuMain, WindowID(#WindowMain))
MenuTitle("Menu1")
MenuItem(1, "Item1" +Chr(9)+"Ctrl+O")
MenuItem(2, "Item2" +Chr(9)+"Ctrl+S")
MenuItem(3, "Item3" +Chr(9)+"Ctrl+A")
MenuItem(4, "Item4" +Chr(9)+"Ctrl+C")
MenuTitle("Menu2")
MenuItem(1, "Item1" +Chr(9)+"Ctrl+O")
MenuItem(2, "Item2" +Chr(9)+"Ctrl+S")
MenuItem(3, "Item3" +Chr(9)+"Ctrl+A")
MenuItem(4, "Item4" +Chr(9)+"Ctrl+C")
Repeat
Event.i = WaitWindowEvent()
If Event.i = #PB_Event_CloseWindow
Quit.i = 1
EndIf
Until Quit.i = 1
End
Erstaunlich was man alles machen muss nur um herauszubekommen wie groß ein Fenster sein darf!
Gruß
Daffy