Dans le code d'initialisation de ton champ Table, tu as :
1 2 3
| TABLE_REQ_LeconsParCoursEffectif.DndSource = dndProgrammé
DnDEvénement(StockeInfos, TABLE_REQ_LeconsParCoursEffectif, dndDébutGlisser)
DnDEvénement(Fusionne, TABLE_REQ_LeconsParCoursEffectif, dndFinGlisser) |
Puisque tu as mis ça dans le code d'initialisation du champ table, ce serait plus élégant de faire
1 2 3
| moimeme.DndSource = dndProgrammé
DnDEvénement(StockeInfos, moimeme, dndDébutGlisser)
DnDEvénement(Fusionne, moimeme, dndFinGlisser) |
Mais pour ma part, je n'aime pas quand les portions de codes sont disséminées un peu partout, je mettrais le code que tu avais, mais dans le code d'initialisation de la fenêtre interne (si j'ai bien suivi, cette table est dans une fenêtre interne).
Cette procédure "Fusionne", elle est bien dans la fenêtre interne ?
J'ai un cas un peu similaire, où je fais ça :
1 2 3 4 5
| dnd__cible est un entier
qtable est une chaîne
qtable = _DND.ChampCible
dnd__cible = TableInfoXY( qtable,tiNumLigne, _DND.SourisPosX , _DND.SourisPosY )
SI dnd__cible < 1 ALORS RENVOYER -1 |
Dans mon cas, c'est le numéro de la ligne où on lâche l'objet qui m'intéressait. Et je veux arrêter le process si on lâche l'objet sur les entêtes de colonnes de la table,
En fait, je me dis que la variable _DND champCible ou qtable est quasiment inutile. Par construction, cette procédure ne s'exécute que si on a fait un 'lacher' sur la table TABLE_REQ_LeconsParCoursEffectif
On devrait avoir le même résultat avec :
1 2 3
| dnd__cible est un entier
dnd__cible = TableInfoXY( TABLE_REQ_LeconsParCoursEffectif,tiNumLigne, _DND.SourisPosX , _DND.SourisPosY )
SI dnd__cible < 1 ALORS RENVOYER -1 |
Rappel : cette procédure "Fusionne()" est dans la fenêtre interne, celle qui contient la table TABLE_REQ_LeconsParCoursEffectif.
Partager