如何判断当前的控件的名字???

guxingke 2004-09-14 11:22:08
我有一组动态生成的SHAPE组件,他们是放在一个panel数目不限,现在如果想知道用户是单击了哪一个控件要怎么做,也就是想知道当前被用户单击的SHAPE的名字。
...全文
136 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
guxingke 2004-09-17
  • 打赏
  • 举报
回复
没有人回答我自己顶!
pengxuan 2004-09-16
  • 打赏
  • 举报
回复

showmessage(shape.parent.name);
guxingke 2004-09-16
  • 打赏
  • 举报
回复
我还想问一下各位,如果是一组动态的创建的parnel.和一组动态创建的SHAPE,二者创建的时间不是一定是同时的,当然panel肯定是在shape之前创建的,就是说要指明哪明某个SHAPE的PARENT是谁要怎么做?? 谢谢先!!!
guxingke 2004-09-16
  • 打赏
  • 举报
回复
这样不行,比如有若干个车间,每个车间有若干个机器,我用PANEL代表车间,用SHPAE代表机器,所以当我在车间一里增加机器时,那个shape的PARENT就要是车间一的对应的那个PANEL对吧
cdsgajxlp 2004-09-14
  • 打赏
  • 举报
回复
全局变量 SHAPE
procedure Tform1.selectrtuondbclick(sender: Tobject);
var
SHAPE :TSHAPE
begin
SHAPE :=(sender as TSHAPE);
showmessage(SHAPE.name);
end;

minjunw 2004-09-14
  • 打赏
  • 举报
回复
所有的Shape的OnMouseDown事件均指向此
minjunw 2004-09-14
  • 打赏
  • 举报
回复
OnMouseDown事件:
procedure TfrmMain.shape1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ShowMessage((Sender As TShape).Name);
end;
woaijingjing 2004-09-14
  • 打赏
  • 举报
回复
为每个动态生成的SHAPE组件赋一个单击事件的过程,
过程内容就是,记录被单击组件的名称。

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧