如何判断是那个控件被双击?

xy16 2005-10-20 07:32:21
程序如下:

TLabel *lbl[5];
lbl[0] = new TLabel(frmMain);
lbl[1] = new TLabel(frmMain);
lbl[0]->OnDblClick = MemoDblClick;
lbl[1]->OnDblClick = MemoDblClick;

void __fastcall TfrmMain::MemoDblClick(TObject *Sender)
{
//TODO: Add your source code here
请问这里如何知道鼠标双击的是lbl[0]还是lbl[1]???????????????
请问这里如何知道鼠标双击的是lbl[0]还是lbl[1]???????????????
请问这里如何知道鼠标双击的是lbl[0]还是lbl[1]???????????????
}
...全文
136 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
samchoy 2005-10-21
  • 打赏
  • 举报
回复
同意rainfall19831109(恩恩)

TLabel *lbl[5];
lbl[0] = new TLabel(frmMain);
lbl[1] = new TLabel(frmMain);
lbl[0]->OnDblClick = MemoDblClick;
lbl[1]->OnDblClick = MemoDblClick;

void __fastcall TfrmMain::MemoDblClick(TObject *Sender)
{
if (Sender == lbl[0])
// 鼠标双击的是lbl[0]
else if (Sender == lbl[1])
// 鼠标双击的是lbl[1]
else if ...
}
rainfall19831109 2005-10-20
  • 打赏
  • 举报
回复
根据Sender参数判断...
空中猎手 2005-10-20
  • 打赏
  • 举报
回复
程序如下:

TLabel *lbl[5];
lbl[0] = new TLabel(frmMain);
lbl[1] = new TLabel(frmMain);
lbl[0]->OnDblClick = MemoDblClick;
lbl[0]->Tag = 0;
lbl[1]->OnDblClick = MemoDblClick;
lbl[1]->Tag = 1;

void __fastcall TfrmMain::MemoDblClick(TObject *Sender)
{
//TODO: Add your source code here
TLabel *label = dynamic_cast<TLabel *>(Sender);
if(NULL != label)
{
switch(label->Tag)
{
case 0:
//lal[0]
break;
case 1:
//lal[1]
break;
}
}
}

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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