4D v16.3OBJECT GET COORDINATES |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
OBJECT GET COORDINATES
OBJECT GET COORDINATES
La commande OBJECT GET COORDINATES retourne dans les variables ou champs gauche, haut, droite et bas les coordonnées (en points) du ou des objet(s) du formulaire courant défini(s) par les paramètres * et objet. Si vous passez le paramètre optionnel *, vous indiquez que le paramètre objet est un nom d’objet (une chaîne de caractères). Si vous ne passez pas le paramètre *, vous indiquez que objet est un champ ou une variable. Dans ce cas, vous ne passez pas une chaîne mais une référence de champ ou de variable (champ ou variable de type objet uniquement). Si vous passez un nom d’objet dans le paramètre objet et utilisez le caractère joker @ afin de sélectionner plusieurs objets, les coordonnées retournées seront celles du rectangle formé par l’ensemble des objets concernés. Note : Il est possible de paramétrer le mode d’interprétation du caractère @, lorsque celui-ci est inclus dans une chaîne de caractères. Cette option influe sur le fonctionnement des commandes du thème “Propriétés des objets”. Pour plus d'informations, reportez-vous au manuel Mode Développement. Si l’objet n’existe pas ou si la commande est appelée ailleurs que dans le contexte d’un formulaire, les coordonnées retournées sont (0;0;0;0). Dans le contexte des list box, la commande OBJECT GET COORDINATES peut retourner les coordonnées de parties spécifiques des list box, c.-à-d. des colonnes, en-têtes ou pieds, ou celles de l'objet list box parent. Dans les versions de 4D antérieures à la v14 R5, cette commande retournait toujours les coordonnées de la list box parente, quelle que soit la zone passée en paramètre. Désormais, lorsque le paramètre objet référence un en-tête, une colonne ou un pied de list box, ce sont les coordonnées de ce sous-objet qui sont retournées. Vous pouvez utiliser ce fonctionnement, par exemple, pour afficher une petite icône dans la cellule d'en-tête d'une list box lorsqu'elle est survolée par le curseur, indiquant à l'utilisateur qu'il peut cliquer pour afficher un menu contextuel.
Par exemple, examinez le schéma suivant, dans lequel les coordonnées de la colonne Capital sont symbolisées par un rectangle rouge : Comme vous pouvez le voir dans la première image, la colonne est plus grande que la list box, donc ses coordonnées dépassent la limite basse de la list box, pied inclus. Dans la seconde image, la list box a défilé, et donc la colonne a également été déplacée "sous" les zones de la colonne Language et d'en-tête. Dans tous les cas, pour calculer la partie réellement visible de la colonne (représentée par la zone verte), vous devez soustraire les zones rouges. Vous souhaitez obtenir les coordonnées du rectangle formé par tous les objets dont le nom commence par “bouton” : OBJECT GET COORDINATES(*;"bouton@";gauche;haut;droite;bas) Pour les besoins de votre interface, vous souhaitez entourer d'un rectangle rouge la zone sur laquelle l'utilisateur a cliqué : Dans la méthode objet de la list box, vous écrivez : OBJECT SET VISIBLE(*;"rectangleInfo";False) //initialiser un rectangle rouge La méthode retourne les coordonnées théoriques. Si la list box est redimensionnée, vous pourrez avoir besoin de calculer le détourage afin de savoir quelle partie est visible :
Voir aussi
CONVERT COORDINATES
|
PROPRIÉTÉS
Produit : 4D
HISTORIQUE
Modifié : 4D v6.7 UTILISATION DE L'ARTICLE
4D - Langage ( 4D v16) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||