Hilfe

CreateWindow

B+

Aufruf

win = CreateWindow (titel$, x, y, breite, hoehe[, gruppe][, style])

Parameter

titel$ Der Titel des Fensters
x X-Position des Fensters
y Y-Position des Fensters
hoehe Höhe des Fensters
breite Breite des Fensters
gruppe Gruppe des Fensters
style 1 - Titelleiste anzeigen
2 - Das Fenster wird skalierbar (vergrößern und verkleinern)
4 - Das fenster erhält oben ein Menü
8 - Statusleiste unten anzeigen
16 - Toolfenster (Kleinere Titelleiste, keine anzeige in der Taskleiste)
32 - Die Fenstergröße und -position wird ohne Berücksichtigung des Randes angegeben. Normalerweise werden z.B. ca. 20-30 Pixel der angegebenen Größe schon von der Titelleiste belegt


Rückgabewert

Identität eines Fenster-Objektes


Beschreibung

Die Funktion CreateWindow erstellt ein Fenster-Objekt. Gib dazu die Titelbezeichnung, Startkoordinate X/Y und Breite/Höhe an. Optionaler Parameter "Gruppe" kann Desktop()-Handle sein - ansonsten benutzt BB automatisch Desktop()-Handle. Style ist dagegen viel Interessanter. Addiere folgende Werte, um mehrere Eigenschaften zu kombinieren:

[01] Schaltet Titelleiste ein
[02] Fenster wird skalierbar
[04] Fügt Menü-Platzhalter ein
[08] Fügt untere Statusleiste ein
[16] Fenster mit kleiner Titelleiste
[32] Fenstergröße mit Berücksichtigung des Randes

Standardwert ist 15



Wenn mehrere Fenster erstellt werden, dann erscheint jedes Fenster in der Taskleiste. Dies ist manchmal unerwünscht. Darum kann man ein Childfenster zu einem Parentfenster zuweisen. Childfenster erscheint dann nicht mehr in Taskleiste - es hat aber sonst die selben Eigenschaften wie das Parentfenster.


Ein Fenster kann mit DisableGadget deaktiviert werden. Solche Fenster können dann nicht verschoben werden und alle eingebaute Objekte werden ebenfalls deaktiviert. Kombiniert man das mit vorherigen Tipp, dann lassen sich Dialog-Fenster erzeugen, die es nicht zulassen, dass ein Parentfenster in dieser Zeit ausgewählt wird.


Beispiel

Erstellt ein Fenster mit Buttons. Bei Klick auf einen Button öffnet sich ein Notify, bei Klick auf das Kreuz wird das Programm beendet.

win = CreateWindow("Fenster-Beispiel", 100, 100, 200, 200, Desktop(), 33)
btn1 = CreateButton("Klick mich!", 10, 10, 200, 20, win)
btn2 = CreateButton("Klick mich nicht!", 35, 10, 200, 20, win)

Repeat
   WaitEvent()
   Select EventID()
      Case $803
         End
      Case $401:
         If EventSource() = btn1 Then Notify "brav!" Else Notify "Du sollst hier doch nicht klicken!"
   End Select
Forever

Übersicht GUI Window