OpenWindow()
Syntax
Ergebnis = OpenWindow(#Window, x, y, InnereBreite, InnereHoehe, Titel$ [, Flags [, ParentWindowID]])Beschreibung
Öffnet ein neues Fenster entsprechend den übergegebenen Parametern. Wenn #PB_Any als '#Window' Parameter verwendet wird, dann wird die Nummer des neuen Fensters als 'Ergebnis' zurückgegeben. Ist 'Ergebnis' gleich 0, konnte das Fenster nicht geöffnet werden.
Das neue Fenster wird automatisch zum aktiven Fenster, d.h. Sie müssen hierfür nicht erst den SetActiveWindow() Befehl benutzen (außer das Fenster wurde unsichtbar erstellt).
'InnereBreite' und 'InnereHoehe' definieren die innere Fenstergröße (ohne Ränder und andere Fensterdekorationen), um die Windows XP, AmigaOS und Linux "Skinning" Kompatibilität zu gewährleisten. 'x' und 'y' definieren die anfängliche Position des Fensters (es sei denn, es wurde eines der Flags zum Zentrieren des Fensters genutzt). Wenn ein Wert davon #PB_Ignore lautet, dann wählt das OS eine Position für das Fenster.
'ParentWindowID' ist ein optionaler Parameter, mit welchem angegeben werden kann, zu welchem Fenster das neue Fenster dazugehört. Der 'ParentWindowID' Wert kann einfach mittels WindowID() ermittelt werden.
Mögliche Flags sind:#PB_Window_SystemMenu : Schaltet das System-Menü in der Fenster-Titelzeile ein. #PB_Window_MinimizeGadget: Fügt das Minimieren-Gadget der Fenster-Titelzeile hinzu. #PB_Window_SystemMenu wird automatisch hinzugefügt. #PB_Window_MaximizeGadget: Fügt das Maximieren-Gadget der Fenster-Titelzeile hinzu. #PB_Window_SystemMenu wird automatisch hinzugefügt. #PB_Window_SizeGadget : Fügt das Größenänderungs-Gadget zum Fenster hinzu. #PB_Window_Invisible : Erstellt ein Fenster, zeigt es aber nicht an. Wird nicht unter AmigaOS unterstützt. #PB_Window_TitleBar : Erstellt ein Fenster mit einer Titelzeile. #PB_Window_Tool : Erstellt ein Fenster mit einer schmaleren Titelzeile und ohne Taskleisten-Eintrag. #PB_Window_BorderLess : Erstellt ein Fenster ohne jegliche Ränder. #PB_Window_ScreenCentered: Zentriert das Fenster in der Mitte des Bildschirms. Die Parameter x,y werden ignoriert. #PB_Window_WindowCentered: Zentriert das Fenster in der Mitte des übergeordneten Fensters ("parent window" - 'ParentWindowID' muss dazu angegeben werden). Die Parameter x,y werden ignoriert. #PB_Window_Maximize : Öffnet das Fenster maximiert. (Hinweis: Unter Linux unterstützen dies nicht alle Window-Manager.) #PB_Window_Minimize : Öffnet das Fenster minimiert. #PB_Window_NoGadgets : Verhindert das Erstellen einer Gadgetliste. UseGadgetList() kann verwendet werden, um dies später zu tun.Wenn der optionale Flags Parameter nicht angegeben wird, dann wird #PB_Window_SystemMenu verwendet.
Alle möglichen Ereignisse innerhalb eines Fensters werden mit den Befehlen WindowEvent() und WaitWindowEvent() abgefragt. Für spezielle Situationen werden Callbacks verwendet, siehe Beschreibung bei SetWindowCallback(). Auf Windows kann die Breite und Höhe eines Fensters mit Titelzeile nicht kleiner als etwa 100 Pixel sein. Zum Öffnen eines kleineren Fensters verwenden Sie das #PB_Window_BorderLess Flag (rahmenloses Fenster).
Hinweis: Wenn ein Fenster von einem Thread geöffnet wird, dann muss der Thread auch WindowEvent() oder WaitWindowEvent() in einer Schleife aufrufen, um die Ereignisse für dieses Fenster zu verarbeiten, da Window-Ereignisse nicht zwischen verschiedenen Threads gesendet werden.
Unterstützte OS
Alle