Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
CONVERT COORDINATES
|
CONVERT COORDINATES ( xKoord ; YKoord ; Von ; Nach ) | ||||||||
Parameter | Typ | Beschreibung | ||||||
xKoord | Variable Lange Ganzzahl |
![]() |
Horizontale Koordinate eines Punkts (Ausgang) | |||||
![]() |
Horizontale Koordinate eines Punkts (konvertiert) | |||||||
YKoord | Variable Lange Ganzzahl |
![]() |
Vertikale Koordinate eines Punkts (Ausgang) | |||||
![]() |
Vertikale Koordinate eines Punkts (konvertiert) | |||||||
Von | Lange Ganzzahl |
![]() |
Ausgehendes Koordinatensystem | |||||
Nach | Lange Ganzzahl |
![]() |
Koordinatensystem, in das konvertiert wird | |||||
Der Befehl CONVERT COORDINATES konvertiert die (x;y) Koordinaten eines Punkts von einem Koordinatensystem in ein anderes. Unterstützte Koordinatensysteme für Ein- und Ausgabe sind Formulare und Unterformulare, Fenster und Bildschirm. Mit diesem Befehl können Sie z.B. die Koordinaten im Hauptfenster für ein Objekt in einem Unterformular erhalten. Das macht das Erstellen eines Kontextmenüs an einer beliebigen eigenen Stelle einfacher.
In xKoord und yKoord übergeben Sie als Variablen die (x;y) Koordinaten des betreffenden Punkts. Nach Ausführen des Befehls enthalten diese Variablen die konvertierten Werte.
Im Parameter Von übergeben Sie das ausgehende Koordinatensystem, das den Eingabepunkt nutzt. Im Parameter Nach übergeben Sie das Koordinatensystem, in das konvertiert werden soll. Beide Parameter können eine der folgende Konstanten unter dem Thema "Fenster" nutzen:
Konstante | Typ | Wert | Kommentar |
XY Current form | Lange Ganzzahl | 1 | Ursprung ist die linke obere Ecke des aktuellen Formulars |
XY Current window | Lange Ganzzahl | 2 | Ursprung ist die linke obere Ecke des aktuellen Fensters |
XY Screen | Lange Ganzzahl | 3 | Ursprung ist die linke obere Ecke des Hauptbildschirms (genauso wie für den Befehl SCREEN COORDINATES) |
XY Main window | Lange Ganzzahl | 4 | Unter Windows: Ursprung ist die linke obere Ecke des Hauptfensters; auf OS X: genauso wie XY Screen |
Wird dieser Befehl von der Methode oder einem Objekt des Unterformulars aufgerufen, und ist einer der Selektoren XY Current form, beziehen sich die Koordinaten auf das Unterformular selbst und nicht auf das übergeordnete Formular.
Beim Konvertieren aus/in die Position eines Formularfensters, beispielsweise beim Konvertieren der Ergebnisse von GET WINDOW RECT, oder in Werte, übergeben in Open form window, sollte XY Main window verwendet werden, da es sich hier um das Koordinatensystem handelt, das von Befehlen für Fenster unter Windows verwendet wird. Er lässt sich zu diesem Zweck auch auf OS X verwenden, hier entsprícht er XY Screen.
Stammt Von von XY Current form und liegt der Punkt im Hauptteil eines Listenformulars, richtet sich das Ergebnis nach dem jeweiligen Kontext des Befehls:
Ein Pop-Up Menü in der linken unteren Ecke des Objekts "MyObject" aufrufen.
// OBJECT GET COORDINATES arbeitet im Koordinatensystem des aktuellen Formulars
// Das dynamische Pop-Up Menü verwendet das Koordinatensystem des aktuellen Fensters
// Wir müssen die Werte konvertieren
C_LONGINT($left;$top;$right;$bottom)
C_TEXT($menu)
OBJECT GET COORDINATES(*;"MyObject";$left;$top;$right;$bottom)
CONVERT COORDINATES($left;$bottom;XY Current form;XY Current window)
$menu:=Create menu
APPEND MENU ITEM($menu;"Right here")
APPEND MENU ITEM($menu;"Right now")
Dynamic pop up menu($menu;"";$left;$bottom)
RELEASE MENU($menu)
Ein Pop-Up Fenster an der Position des Mauszeigers öffnen. Unter Windows müssen Sie die Koordinaten konvertieren, da GET MOUSE (mit dem Parameter *) Werte gemäß der Position des MDI Fensters zurückgibt:
C_LONGINT($mouseX;$mouseY;$mouseButtons)
C_LONGINT($window)
GET MOUSE($mouseX;$mouseY;$mouseButtons)
CONVERT COORDINATES($mouseX;$mouseY;XY Current window;XY Main window)
$window:=Open form window("PopupWindowForm";Pop up form window;$mouseX;$mouseY)
DIALOG("PopupWindowForm")
CLOSE WINDOW($window)
GET WINDOW RECT
OBJECT GET COORDINATES
OBJECT SET COORDINATES
SET WINDOW RECT
Produkt: 4D
Thema: Fenster
Nummer:
1365
Erstellt: 4D v15 R3
4D Programmiersprache ( 4D v20 R7)