4D v16.3Drop position |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
Drop position
|
Drop position {( numColonne | posYImage )} -> Résultat | ||||||||
Paramètre | Type | Description | ||||||
numColonne | posYImage | Entier long |
![]() |
Numéro de colonne de list box (-1 si le déposer a lieu après la dernière colonne) ou Position coordonnée Y dans l'image |
|||||
Résultat | Entier long |
![]() |
• Numéro (tableau/list box) ou • Position (liste hiérarchique) ou • Position dans la chaîne (texte/combo box) de l'élément de destination ou • -1 si le déposer a lieu après le dernier élément de tableau ou de liste ou • Position coordonnée X dans l’image |
|||||
Drop position permet de connaître l'emplacement, dans un objet de destination “complexe”, auquel un objet a été (glissé et) déposé. Généralement, vous utiliserez Drop position pendant le traitement d'un événement glisser-déposer qui s'est produit dans un tableau, une list box, une liste hiérarchique, un champ texte ou une image.
Si vous appelez Drop position pendant le traitement d'un événement qui n'est pas de type glisser-déposer dans un tableau, une list box, une combo box, une liste hiérarchique, un texte ou une image, la fonction retourne également -1.
Rappel : Pour qu'un objet de formulaire accepte des données déposées, la propriété Déposable doit lui avoir été assignée. De plus, sa méthode objet doit être appelée par l'événement On Drag Over et/ou On Drop si vous voulez pouvoir gérer ce type d'événement.
Reportez-vous aux exemples de la commande DRAG AND DROP PROPERTIES.
Dans l’exemple suivant, une liste de sommes doit être ventilée par mois et par personne. L’opération s’effectue par glisser-déposer depuis une zone de défilement :
La méthode objet de la list box contient le code suivant :
Case of
:(Form event=On Drag Over)
DRAG AND DROP PROPERTIES($source;$lignetab;$numprocess)
If($source=Get pointer("ZD1")) `Si le déposer provient bien de la zone de défilement
$0:=0
Else
$0:=-1 `On refuse le déposer
End if
:(Form event=On Drop)
DRAG AND DROP PROPERTIES($source;$lignetab;$numprocess)
$numligne:=Drop position($numcol)
If($numcol=1)
BEEP
Else
Case of `Addition des valeurs déposées
:($numcol=2)
Jean{$numligne}:=Jean{$numligne}+ZD1{$lignetab}
:($numcol=3)
Marc{$numligne}:=Marc{$numligne}+ZD1{$lignetab}
:($numcol=4)
Pierre{$numligne}:=Pierre{$numligne}+ZD1{$lignetab}
End case
DELETE FROM ARRAY(ZD1;$lignetab) `Mise à jour de la zone
End if
End case
Produit : 4D
Thème : Glisser-Déposer
Numéro :
608
Modifié : 4D v11 SQL
Modifié : 4D v12
4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)