Lade...
 

SetGuiMetric

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

  1. Breite der Minicell in 0,1 Pixel. Ein Wert von 7 definiert also eine Minicell-Breite von 0,7 Pixeln.
  2. 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
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