如何从TDBGrid拖放?

时间:2013-05-28 16:06:55

标签: delphi dbgrid

如果我将DragMode设置为dmAutomatic,则会阻止我选择行。 如果我使用OnCellClick调用BeginDrag它只会在鼠标上启动,这在我看来并不拖延。 如果我使用OnMouseDown,它只会触发标题行。

我该怎么做?

1 个答案:

答案 0 :(得分:2)

重载MouseDown将导致所需的结果。

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;