newdbgrid.pas

来自「这是我写的一篇关于表格中自由拖动数据的控件的例子程序」· PAS 代码 · 共 42 行

PAS
42
字号
unit NewDBGrid;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids;

type
  TNewDBGrid = class(TDBGrid)
  private
    { Private declarations }
    FOnMouseDown: TMouseEvent;
  protected
    { Protected declarations }
    procedure MouseDown(Button: TMouseButton; Shift: TShiftState;X, Y: Integer); override;
    //重载OnMouseDown事件
  published
    { Published declarations }
    property Row;//重载DBGrid控件的当前行号,利于我们对操作的Cell定位
    property OnMouseDown read FOnMouseDown write FOnMouseDown;
  end;

procedure Register;

implementation

procedure TNewDBGrid.MouseDown(Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if Assigned(FOnMouseDown) then
    FOnMouseDown(Self, Button, Shift, X, Y);
  inherited MouseDown(Button, Shift, X, Y);
end;

procedure Register;//注册到Delphi6.0的Component Palette的Samples页中
begin
  RegisterComponents('Samples', [TNewDBGrid]);
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?