读书人

怎么使过程应用于多个事件

发布时间: 2012-02-24 16:30:39 作者: rapoo

如何使过程应用于多个事件?
我做了一个点击dbgrid1表头引发的过程,现在的问题是,我如何使dbgrid2、dbgrid3可使用该过程,过程里只使用了dbgrid1。

var i : integer;
for i:= 1 to DBGridEh1.Columns.Count do
begin

end


[解决办法]
使用Sender参数。下面用3个Button举例说明(楼主看懂了,应用到DBGrid里去,就很简单了)

type
TForm1 = class(TForm)
Button1: TButton;//放三个Button做试验
Button2: TButton;
Button3: TButton;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure BtnsOnClick(Sender : TObject);//声明为TForm1的类方法
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.BtnsOnClick(Sender : TObject);
begin
ShowMessage( '您点击的是 ' + TButton(Sender).Name);//使用了Sender参数
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Button1.OnClick := BtnsOnClick;//三个按钮的单击事件都指向BtnsOnClick
Button2.OnClick := BtnsOnClick;
Button3.OnClick := BtnsOnClick;
end;

end.
[解决办法]
procedure clickhead(hh : TDBGridEh);
var i : integer;
begin

for i:= 1 to hh.Columns.Count do
begin

end

end;

比如你点第一个就使用
clickhead(DBGridEh1)依此类推

读书人网 >.NET

热点推荐