cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 2014
-
21 févr. 2003 à 18:25
adjena
Messages postés41Date d'inscriptionvendredi 7 mai 2004StatutMembreDerniè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 !!!
cs_iubito
Messages postés629Date d'inscriptionmercredi 3 juillet 2002StatutMembreDerniè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.
cs_iubito
Messages postés629Date d'inscriptionmercredi 3 juillet 2002StatutMembreDerniè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 ;-)
ffmahe
Messages postés1Date d'inscriptionvendredi 12 mars 2004StatutMembreDernière intervention12 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)