SetGuiMetric
SetGuiMetric
Bildschirmkoordinaten in ClassiX® werden in Minicells angeben. Ein Minicell in ClassiX®-System entspricht etwa 0.1 * durchschnittliche Höhe bzw. Breite eines Zeichens.
Die Abbildung Minicell -> Pixel wird anhand des Windows-Standard-Dialogfonts berechnet. Mit der Anweisung SetGuiMetric kann dieses Verhältnis an einen Font angepasst werden, dessen Definitionsbestandteile als Vektor auf dem Stack übergeben werden.
Die Fontbeschreibung wird als Vektor auf dem Stack übergeben, und kann die folgenden, beliebig kombinierbaren Bestandteile enthalten:
- Fontname: String
- Größe: Integer in PicaPoint
- BOLD: Konstante, die einen fetten Font erzeugt
- ITALIC: Konstante, die einen kursiven Font erzeugt
- ORIENTATION Grad: Drehwinkel in Grad, 0 Grad: von links nach rechts, 90 Grad: Oben nach unten
Alternativ kann der Vektor nur aus zwei Zahlen bestehen und definiert dann direkt die Höhe und Breite der Minicells, wie von GetGuiMetric zurückgegeben
- Breite der Minicell in 0,1 Pixel. Ein Wert von 7 definiert also eine Minicell-Breite von 0,7 Pixeln.
- Höhe der Minicell in 0,1 Pixel. Ein Wert von 24 definiert also eine Minicell-Höhe von 2,4 Pixeln.
Code-Beispiel:
[ Arial 8 BOLD ] SetGuiMetric [ "Courier New" 20 ITALIC ] SetGuiMetric [ 7 24 ] SetGuiMetric GetGuiMetric // -> [ 7 24 ]
Stack | Position | Beschreibung |
---|---|---|
Stack(In) | Top | VECTOR |
Stack(Out) | Top | - |
Berechnung der Höhe und Breite eines durchschnittlichen Zeichens (= 10 Minicells):
Angaben des Fonts: averageCharWidthfont, heightfont
Höhe / Breite der Windowoberfläche (= 10 Minicells): heightwin, widthwin
Konstanten: preSpace = postSpace = 2
heightwin = 1.5 * heightfont + preSpace + postSpace
widthwin = (averageCharWidthfont + 1) * 9 / 7 + 0.5