Koordinaten auf VB-Komponenten


Solange VB keine Angaben zu Koordinaten erhält, legt es als Einheit das "Twip" zugrunde. Ein Twip entspricht 0,0176 mm bzw. 1/1440 Zoll. Andere Einheiten können eingestellt werden. Dazu ist die Eigenschaft ScaleMode zuständig. Sie gilt für alle "bemalbaren" Objekte wie Formulare, Picture-Felder und Druckseiten. Sie gibt die Maßeinheiten des Koordinatensystems eines Objekts bei der Verwendung von Grafikmethoden oder beim Positionieren von Steuerelementen zurück oder legt die Maßeinheiten fest.

Verwendet wird ScaleMode in der Form: Objekt.ScaleMode [= Wert] zum Festlegen eines Maßstabs oder in der Form Wert = Objekt.ScaleMode zum Erfragen des gültigen Maßstabs. Für ein Bildfeld kann ScaleMode jederzeit verändert werden. Bereits eingetragene Bildelemente behalten dabei ihren Ort .

Für den Wert sind vbKonstante oder die unten angegebenen Zahlenwerte verwendbar.

Konstante
Zahl
Beschreibung
vbUser
0
freie Wahl durch den Benutzer. Zeigt an, daß mindestens eine der Eigenschaften ScaleHeight, ScaleWidth, ScaleLeft und ScaleTop auf einen frei gewählten Wert gesetzt wurde.
vbTwips
1
(Voreinstellung) Twip (567 Twips pro logischem Zentimeter, 1440 Twips pro logischem Zoll).
vbPoints
2
Punkt (72 Punkt pro logischem Zoll).
vbPixels
3
Pixel (die kleinste Einheit, die auf dem Bildschirm oder Drucker dargestellt werden kann).
vbCharacters
4
Zeichen (horizontal = 120 Twips pro Einheit; vertikal = 240 Twips pro Einheit).
vbInches
5
Zoll.
vbMillimeters
6
Millimeter.
vbCentimeters
7
Zentimeter.

Einige Eigenschaften zur Gestaltung und Nutzung eines Diagrammfeldes sind im Bild gezeigt.

bild

Mit Height und Width wird insbesondere die Abmessung eines Formulars, Bildfeldes oder auch jedes anderen Steuerelments erfragt bzw. gesetzt.

Der Anordnung von Steuerelementen auf einem Formular oder in einem Bildfeld dienen Left und Top. Natürlich muß bei ihrer Verwendung immer dazu gesagt werden, was anzuordnen ist.

ScaleHeight, ScaleWidth, ScaleLeft und ScaleTop
Mit diesen Eigenschaften werden die nach ScaleMode gültigen Koordinatenwerte der Bildränder gesetzt oder erfragt. Diese vier Skalierungseigenschaften beeinflussen die ScaleMode-Eigenschaft. Durch das Festlegen einer Skalierungseigenschaft auf einen beliebigen Wert wird der Wert von ScaleMode automatisch auf 0 gesetzt.

Eine Methode, die in einem Schritt ein komplettes Koordinatensystem einrichtet, und damit die Einzelfestlegung der eben besprochenen Skalierungswerte auf einen Rutsch erledigt, ist Scale. Scale gilt immer für die betroffene Komponente; Komponenten können gestapelt werden, womit sich die vielfältigsten Möglichkeiten bequemer Positionierung ergeben. Damit werden die Anfangs- und Endwerte eines Koordinatensystems auf einem Objekt definiert.

Die Syntax des Aufrufes : Objekt.Scale (xvon, yvon) - (xbis, ybis).

Wenn man Scale ohne Argumente verwendet (d.h. keines der Argumentpaare angibt), wird das Koordinatensystem auf Twips zurückgesetzt, und beginnt links mit x = 0 und oben mit y = 0. Dies Richtungsfestlegung, die historische Gründe hat, (weil der Bildschirm schon immer von links oben an beschrieben wird) macht bei der Festlegung eines üblichen Koordinatensystems Probleme. Ein kartesisches Koordinatensystem von -10 < x < 10 und -25 < y < 25 ist in der in der Form: Scale (-10, 25) - (10, -25) aufzurufen. Die Werte der ersten Klammer geben die für links oben geltenden Werte, die der rechten Klammer die rechts unten geltenden Werte an.

Die Positionierung von Textausgaben auf Graphikkomponenten erfolgt mit den Befehlen CurrentX, CurrentY . Dabei werden in der eingestellten Skalierungsart die x- und y-Koordinaten des Textbeginns festgelegt. Die Textausgabe erfolgt mit Print . Der Aufruf erfolgt in der Form:

Picture1.CurrentX = 55
Picture1.CurrentY = 100
Picture1.Print "Hier ist mein positionierter Text"

Die Textattribute können durch vorherige Veränderung der Eigenschaften von "Font" wie gewünscht eingestellt werden.

zum Anfang

© R. Hirte * 2000