4D v16.3CONVERTIR COORDONNEES |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
CONVERTIR COORDONNEES
|
CONVERTIR COORDONNEES ( coordX ; coordY ; depuis ; vers ) | ||||||||
Paramètre | Type | Description | ||||||
coordX | Variable entier long |
![]() |
Coordonnée horizontale d'un point (initiale) | |||||
![]() |
Coordonnée horizontale d'un point (convertie) | |||||||
coordY | Variable entier long |
![]() |
Coordonnée verticale d'un point (initiale) | |||||
![]() |
Coordonnée verticale d'un point (convertie) | |||||||
depuis | Entier long |
![]() |
Système de coordonnées d'origine | |||||
vers | Entier long |
![]() |
Système de coordonnées dans lequel convertir le point | |||||
La commande CONVERTIR COORDONNEES permet de convertir les coordonnées (x;y) d'un point depuis un système de coordonnées vers un autre système de coordonnées. Les systèmes de coordonnées pris en charge sont les formulaires (ainsi que les sous-formulaires), les fenêtres et l'écran. Par exemple, vous pouvez utiliser cette commande pour obtenir les coordonnées, dans le formulaire principal, d'un objet appartenant à un sous-formulaire. Ce principe facilite notamment la création de menus contextuels à des emplacements personnalisés.
Dans coordX et coordY, passez des variables contenant les coordonnées (x;y) du point que vous voulez convertir. Après exécution de la commande, ces variables contiendront les valeurs converties.
Dans le paramètre depuis, passez le système d'origine dans lequel sont exprimées les coordonnées du point, et dans le paramètre vers, passez le système de coordonnées dans lequel elles doivent être converties. Chaque paramètre peut avoir pour valeur l'une des constantes suivantes, présentes dans le thème "Fenêtre" :
Constante | Type | Valeur | Comment |
XY Ecran | Entier long | 3 | L'origine est le coin supérieur de l'écran principal (comme pour la commande COORDONNEES ECRAN) |
XY Fenêtre courante | Entier long | 2 | L'origine est le coin supérieur gauche de la fenêtre courante |
XY Fenêtre principale | Entier long | 4 | Windows : L'origine est le coin supérieur gauche de la fenêtre principale ; OS X : identique à XY Ecran |
XY Formulaire courant | Entier long | 1 | L'origine est le coin supérieur gauche du formulaire courant |
Lorsque cette commande est appelée depuis la méthode d'un sous-formulaire ou d'un objet du sous-formulaire, si l'un des sélecteurs est XY Formulaire courant, les coordonnées correspondantes sont relatives au sous-formulaire lui-même, et non celles de son formulaire parent.
Lorsque vous effectuez une conversion depuis/vers la position d'une fenêtre de formulaire (par exemple une conversion depuis les résultats de COORDONNEES FENETRE, ou vers des valeurs passées à Creer fenetre formulaire), le sélecteur XY Fenêtre principale doit être utilisé car il s'agit du système de coordonnées utilisé par les commandes de gestion des fenêtres sous Windows. Ce sélecteur peut également être utilisé dans ce but sous OS X, où il est équivalent à XY Ecran.
Lorsque le sélecteur depuis contient XY Formulaire courant et que le point à convertir est situé dans la zone de corps d'un formulaire liste, le résultat dépend du contexte d'appel de la commande :
Vous souhaitez afficher un pop up menu à l'angle inférieur gauche de l'objet "MonObjet" :
// OBJECT GET COORDINATES / OBJET LIRE COORDONNEES utilise
// le système de coordonnées du formulaire courant
// Dynamic pop up menu / Pop up menu dynamique utilise
// le système de coordonnées de la fenêtre courante
// Il faut donc convertir les valeurs
C_ENTIER LONG($left;$top;$right;$bottom)
C_TEXTE($menu)
OBJET LIRE COORDONNEES(*;"MonObjet";$left;$top;$right;$bottom)
CONVERTIR COORDONNEES($left;$bottom;XY Formulaire courant;XY Fenêtre courante)
$menu:=Creer menu
AJOUTER LIGNE MENU($menu;"Right here")
AJOUTER LIGNE MENU($menu;"Right now")
Pop up menu dynamique($menu;"";$left;$bottom)
EFFACER MENU($menu)
Vous souhaitez créer une fenêtre pop up à l'emplacement du curseur de la souris. Sous Windows, vous devez convertir les coordonnées car POSITION SOURIS (avec le paramètre *) retourne des valeurs basées sur la position de la fenêtre MDI :
C_ENTIER LONG($mouseX;$mouseY;$mouseButtons)
C_ENTIER LONG($window)
POSITION SOURIS($mouseX;$mouseY;$mouseButtons)
CONVERTIR COORDONNEES($mouseX;$mouseY;XY Fenêtre courante;XY Fenêtre principale)
$window:=Creer fenetre formulaire("PopupWindowForm";Form fenêtre pop up;$mouseX;$mouseY)
DIALOGUE("PopupWindowForm")
FERMER FENETRE($window)
CHANGER COORDONNEES FENETRE
COORDONNEES FENETRE
OBJET FIXER COORDONNEES
OBJET LIRE COORDONNEES
Produit : 4D
Thème : Fenêtres
Numéro :
1365
Nom intl. : CONVERT COORDINATES
Créé : 4D v15 R3
4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)