如何判断鼠标点中的是哪个控件

shibushiburangzhucu 2008-10-20 03:16:40
我通过按钮 动态添加图片 然后用StringGrid做个一个显示图片属性的属性栏(有图片的大小、位置和id之类)
然后我想通过鼠标点击图片来显示各图片的属性 但是怎么判断点击的是哪张图片呀

...全文
164 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuanreid 2008-10-20
  • 打赏
  • 举报
回复
另外,MyClick事件中传入的Sender参数,就是那个被点击的Image控件
yumikoo 2008-10-20
  • 打赏
  • 举报
回复
不太明白LZ的意思,你是不是没有关联事件?比如mousedown或者click等?尝试下看看
yuanreid 2008-10-20
  • 打赏
  • 举报
回复
动态产生不要紧,事件处理函数也可以动态赋值给新创建的控件,

比如:
TImage* img = new TImage(this);
img->Onclick = myClick();
  • 打赏
  • 举报
回复
这种方法确实能判断出点的是哪个 ,我的图片也是放在TImage中的 ,但是TImage也是动态产生的啊。。
Jim@luckeeinc.com 2008-10-20
  • 打赏
  • 举报
回复
寫一個函數 void myClick();
如果你圖片是用的TImage
那可以這麽寫
for(int i = 0; i < this->ComponentCount; i++)
{
if(this->Components[i]->ClassType() == __classid(TImage))
{
TImage *p = (TImage *)(this->Components[i]);
p->Onclick = myClick();
}
}
yumikoo 2008-10-20
  • 打赏
  • 举报
回复
for(int i = 0; i < this->ComponentCount; i++)
{
if(this->Components[i]->ClassType() == __classid(TImage))
{
TImage *p = (TImage *)(this->Components[i]);
……
yuanreid 2008-10-20
  • 打赏
  • 举报
回复
图片放在什么容器里面显示的?如果是TImage可以通过TImage的Click事件判断

604

社区成员

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

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