导航:
论坛 -> DELPHI技术
斑竹:liumazi,sephil
作者:
2003/5/8 10:48:05
标题:
请教怎么才能使用动态BUTTONS的CLICK
浏览:2349
加入我的收藏
楼主:
高手们,我使用了第三方类似OUTLOCK的控件,并在程序运行时控件ADD增加了一个BUTTONS,但怎么才能使BUTTONS按下是可以工作。
----------------------------------------------
-
作者:
hedong (hedong)
★☆☆☆☆
-
盒子活跃会员
2003/5/8 12:19:14
1楼:
先自定义一个过程: procedure aaa(Sender: Tobject); 然后: procedure TForm1.aaa(Sender: Tobject); var szCaption: string; begin szCaption := (sender as TButton).Caption; showMessage('这是' + szCaption); end; 调用: procedure TForm1.Button1Click(Sender: TObject); var b: TButton; begin b := TButton.Create(self); with b do begin Parent := Form1; Left := 100; Top := 100; Caption := '新增的动态按钮'; OnClick := aaa; end; end;
----------------------------------------------
-
作者:
2003/5/8 12:43:16
2楼:
非常感谢楼上的指点,如果我想我的button是用循环生成N个BUTTON,AAA中怎么才能获得是按下了N个BUTTON中的哪个BUTTON。希望再次指教。我不懂,我请教。
----------------------------------------------
-
作者:
hedong (hedong)
★☆☆☆☆
-
盒子活跃会员
2003/5/8 12:55:35
3楼:
上面的代码稍作改动就可以实现你说的功能 procedure TForm1.aaa(Sender: Tobject); var szTag: string; begin szTag := IntToStr((sender as TButton).Tag); showMessage('这是第[' + szTag + ']按钮在执行aaa事件'); end; 调用: procedure TForm1.Button1Click(Sender: TObject); var b: TButton; iTag: Integer; begin Button1.Tag := Button1.Tag + 1; iTag := Button1.Tag; b := TButton.Create(self); with b do begin Parent := Form1; Left := 100 + iTag * 20; Top := 100+ iTag * 20; width := 100; Caption := '新增的动态按钮' + IntToStr(iTag); Tag := iTag; OnClick := aaa; end; end; 执行以上代码看看效果。
----------------------------------------------
-