Lade...
 

Toolbar, Tool

Toolbar, Tool, Tbar

Toolbar(name, flags, x, y, w, h), Toolbar

Ein Toolbar wird definiert durch die Anweisung Toolbar und die ihm zugeordneten Childobjekte. Auf einem Toolbar können sich Buttons, Prompts und einzeilige Eingabefelder befinden.

Parameter
Parameter   Beschreibung
name   Identifikator der Toolbar
flags   Flags
x * Position X (in Minicells)
y * Position Y (in Minicells)
w * Breite der Toolbar (in Minicells)
h * Zeilenhöhe der Toolbar (in Pixel)
  • - Pflichtparameter

Ausgegraute Felder sind zwar syntaktisch notwendig, werden jedoch ignoriert (siehe Hinweis unten).

Der Höhenparameter gibt die Zeilenhöhe der Toolbar und damit die Größe der Bitmaps vor. Die Toolbar unterstützt momentan 16x16, 24x24 und 32x32 Icons. Damit lässt sich die Höhe der Toolbar auch nur auf diese 3 verschiedenen Größen einstellen und Angaben wie 10 oder 20 werden auf den nächst größeren, gültigen Wert erweitert. Existiert dieser nicht, wird der größte gültige Wert genommen.

Flags
Flag Beschreibung
DYNAMIC_POSITIONING Die Toolbar wird automatisch am oberen Fensterrand über die gesamte Breite positioniert (Angaben x, y, w werden ignoriert).

Das Flag DYNAMIC_POSITIONING muss nicht mehr angegeben werden, da sich die Toolbar auch ohne dieses Flag so verhält, wie beschrieben. x,y,w werden ignoriert und h dient zur Angabe der Iconhöhe für die Toolbar-Buttons.

Beispiel:

Window(SelectWin, 550, 35, 800, 170, T("Bestellartikel", "Purchase item")) { Menu { Item(OptionsItem, SELECT_MULTIPLE, T("Optionen", "Options")) [ SELECT: OpenWindow(OptionsWin, 1) ] } // The toolbar must be defined underneath the menu! Toolbar(toolBar, DYNAMIC_POSITIONING, 0, 0, 0, 10) { Button(StartButton, TOOLTIP("Mehrfach Suche ausführen", "Start multiple search"), 0, 0, "Formltst.bmp") // The prompt is a little space between the bottons! Prompt(p1, 0, 0, " ") Button(ResetButton, TOOLTIP("Liste zurücksetzen", "Reset list"), 0, 0, "clearlist.bmp") [ SELECT: ClearWindow(SelectWin) ] } }

 

Vererbungslogik:

Die Toolbar folgt 3 Regeln. Im Folgenden soll Modul2 von Modul1 erben.

  • Die Reihenfolge der Elemente aus Modul2 wird immer beibehalten
  • Wenn Modul2 mit Elementen anfängt, die überschrieben werden, dann werden diese an ihrer alten Position überschrieben.
  • Das erste Element, welches es in Modul1 noch nicht gab, wird hinten angehängt und alle Elemente, die darauf folgen werden ebenfalls dahinter aufgelistet.

Beispiele: Modul1 hat die Buttons A,B,C,D in alphabetischer Reihenfolge erstellt.

Modul2 Ergebnis
A,B,E A,B,C,D,E
B,A B,A,C,D
B,A,E B,A,C,D,E
A,C,E A,B,C,D,E
A,E,B A,C,D,E,B