问题
If I set DragMode to dmAutomatic it prevents me from selecting rows. If I used OnCellClick to call BeginDrag it only fires on mouse up, which is not dragging in my opinion. If I use OnMouseDown it only fires on title row.
How I am I supposed do it?
回答1:
Overloading MouseDown will lead to the desired result.
type
TDBGrid=Class(DBGrids.TDBGrid)
procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
End;
TForm2 = class(TForm)
.......
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
{ TDBGrid }
procedure TDBGrid.MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
Begindrag(false);
inherited;
end;
来源:https://stackoverflow.com/questions/16796669/how-do-i-drag-and-drop-from-a-tdbgrid