Seite 1 von 1
Maximieren und dabei Gadgetgröße ändern
Verfasst: 23.04.2006 11:11
von Vermilion
Also, ich komm gleich auf den Punkt

:
Wenn man So etwas hat wie zum Beispiel
Windows Notepad, und man klickt dann im Fensterrahmen auf Maximieren, dann vergrößert sich, wenn Notepad in PureBasic geschrieben wäre, auch das
Editorgadget, der Bereich, in dem schreibt. Wie mache ich das? Muss ich Gadgets am Fensterrahmen "anbinden", damit sie immer bis zum Fensterrand gehen?
Verfasst: 23.04.2006 11:20
von sakuL
Mit #PB_Event_SizeWindow kann man prüfen, ob sich die Fenstergröße geändert hat. Dann liest man mit WindowWidth() und WindowHeight() die neuen Größen aus und erstellt das EditorGadget noch mal.
Beispiel:
Code: Alles auswählen
OpenWindow(0,0,0,300,300,#PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_ScreenCentered | #PB_Window_SizeGadget,"Fenster")
CreateGadgetList(WindowID(0))
EditorGadget(0,5,5,290,290)
Repeat
event=WaitWindowEvent()
If event=#PB_Event_SizeWindow
width=WindowWidth()
height=WindowHeight()
EditorGadget(0,5,5,width-10,height-10)
EndIf
Until event=#PB_Event_CloseWindow
End
Verfasst: 23.04.2006 11:35
von ts-soft
Fast richtig
ResizeGadget ist hierfür zuständig, nicht das Gadget ständig neu erstellen, das kann böse enden, ausserdem verschwindet ständig der Text
Code: Alles auswählen
OpenWindow(0,0,0,300,300,#PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_ScreenCentered | #PB_Window_SizeGadget,"Fenster")
CreateGadgetList(WindowID(0))
EditorGadget(0,5,5,290,290)
Repeat
event=WaitWindowEvent()
If event=#PB_Event_SizeWindow
width=WindowWidth()
height=WindowHeight()
ResizeGadget(0, 5, 5, width-10, height-10)
EndIf
Until event=#PB_Event_CloseWindow
End
Danke
Verfasst: 23.04.2006 11:36
von Vermilion
Danke! Ist ja gar nicht so schwer...
