Drag and Drop depuis une DBGrid

cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 - 21 févr. 2003 à 18:25
adjena Messages postés 41 Date d'inscription vendredi 7 mai 2004 Statut Membre Dernière intervention 4 juin 2007 - 4 août 2004 à 15:21
Je voudrais après avoir seleccioné plusieurs lignes d' une DBGrid, les "Glisser" et les lâcher sur une TreeView.
Le problème est que OnMouseDown de la DBGrid ne fonctionne pas !!!

Mauricio :) [mailto:delphi-developer@clix.pt mailto:delphi-developer@clix.pt]

6 réponses

cs_iubito Messages postés 629 Date d'inscription mercredi 3 juillet 2002 Statut Membre Dernière intervention 9 octobre 2006
14 mars 2003 à 09:13
désolé je n'ai pas la réponse, mais moi aussi je psoe la question, c'est pour faire glisser d'une DBGrid vers une autre et impossible de faire démarrer le drag'n'drop.

As-tu trouvé une astuce ?

merci ;-)

iubito
----------------------
http://iubito.free.fr
prog - zik - Roumanie - annuaire...
0
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
14 mars 2003 à 10:30
Mauricio :) [mailto:delphi-developer@clix.pt mailto:delphi-developer@clix.pt]

Toujours pas:
J' ai simuler le Cut dans ma DBGrid grace à un icone pour chaque ligne ...
0
cs_iubito Messages postés 629 Date d'inscription mercredi 3 juillet 2002 Statut Membre Dernière intervention 9 octobre 2006
14 mars 2003 à 10:45
Le premier ki trouve il gagne un mars lol

moi j'ai mis un bouton "btnAction" qui fait l'action, quand la dbgrid a le focus je met ce bouton par défaut (btnaction.default:=true) et j'ai mis aussi le double-click sur la dbgrid qui fait la même action : btnAction.Click(Application); et déjà c'est pas mal ;-)

iubito
----------------------
http://iubito.free.fr
prog - zik - Roumanie
n'hésitez pas à inscrire votre site dans mon annuaire http://iubito.free.fr/annu :)
0
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
14 mars 2003 à 16:36
Mauricio :) [mailto:delphi-developer@clix.pt mailto:delphi-developer@clix.pt]

Je peux pas faire ça: il faut que l' utilizatreur puisse naviguer dans la liste, seleccionner les lignes qu' il désire puis faire le drag ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ffmahe Messages postés 1 Date d'inscription vendredi 12 mars 2004 Statut Membre Dernière intervention 12 mars 2004
12 mars 2004 à 21:04
je crois que je vais gagner un mars

bon alors on peut pas utiliser ni OnMouseDown ni
OnClick donc on utilise OnMouseMove

alors

vous cree une TDBGrid dans une formulaire vous l'appelez par exemple DBGObject vous la lier avec une table que je nomme T1. Pour mon exemple je cree aussi une TListeBox pour le drop que j'appelle LBDragDrop

Donc en

1 - On met dmManual dans DragMode de DBGObject

2 - Dans l'evenement OnMouseMove de DBGObject on met le code :

if (ssLeft in Shift) and T1.Active and not T1.IsEmpty() and not TDBGrid(Sender).Dragging() then
TDBGrid(Sender).BeginDrag(False, 5);

3 - Dans l'evenement OnDragOver de DBGobject on met le code :

Accept := False;

la le drag marche deja

4 - Dans l'evenement OnDragOver de LBDragDrop on met :

Accept := T1.Active and not T1.IsEmpty();

5 - on termine par mettre dans l'evenement OnDragDrop de LBDragDrop :

if (Source = DBGObjects) and Assigned(DBGObjects.SelectedField) then
LBDragDrop.Items.Add(DBGObjects.SelectedField.asString);

et c'est fini ca marche

(heu au faite j'ai piqer ca sur le site delphipage et je l'ai traduit en français rendons a cesar ce qui appartient a cesar)
0
adjena Messages postés 41 Date d'inscription vendredi 7 mai 2004 Statut Membre Dernière intervention 4 juin 2007
4 août 2004 à 15:21
planbis
0
Rejoignez-nous