Discussione:
Drag'n'drop da una DBGrid
(troppo vecchio per rispondere)
michele
2004-02-09 15:35:25 UTC
Permalink
Salve,
non riesco a gestire al meglio il drag'n'drop partendo da una dbgrid. Se imposto DragMode dmAutomatic il drag si attiva e funziona ma non posso pi� selezionare i record con il tasto sinistro, solo con il destro. Se DragMode � dmManual non riesco a far partire il Drag, l'evento onMouseDown non viene scatenato sulle righe. COme posso fare?
Grazie.
Morde
2004-02-09 16:50:40 UTC
Permalink
Se DragMode è dmManual non riesco a far partire il Drag, l'evento onMouseDown non
viene scatenato sulle righe.
Controlle le Options della dbgrid, la selezione della singola riga deve
potersi effettuare. L'evento OnMuseDown deve scatenarsi.
Cantu' faceva un esempio a proposito su "Mastering Delphi 6", io ti posto il
mio codice forse e' preso da Cantu' non ne sono sicuro, so solo che funziona.
;-)

procedure TfrmSetupMacchine.MyDBGrid2MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
DG : TMyDBGrid;
begin
DG := Sender as TMyDBGrid;
SGC := DG.MouseCoord(X,Y);
if (SGC.X > 0) and (SGC.Y > 0) then
(Sender as TMyDBGrid).BeginDrag(False);
end;

In pratica, se il mouse punta ad una riga valida per trascinare, scatena il
Drag.
--
Morde.
(***@despammed.com)
M-List di icld: http://it.groups.yahoo.com/group/icld/
Michele
2004-02-09 17:02:30 UTC
Permalink
In effetti a me non funziona il MouseDown se seleziono una riga, se invece seleziono o le intestazioni delle colonne o un zona della DBGrid senza righe va. il RowSelect nelle Options della griglia è true.
Continua a leggere su narkive:
Loading...