关于代码重用的一个问题

CTAer 2003-08-18 09:42:56
我有9个Image控件,要求它们根据点击事件载入同一幅图片
除了为每个控件编写OnClick响应外,有没有办法让这9个Image
使用同一段代码?
...全文
57 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
CTAer 2003-08-20
  • 打赏
  • 举报
回复
楼主谢谢各位了
honlyn 2003-08-19
  • 打赏
  • 举报
回复
Object Inspector/Events/
在OnClick下拉框中选择所需方法。
柯本 2003-08-19
  • 打赏
  • 举报
回复
很简单,用我上面的程序,加入到form的OnActive
void __fastcall test(TImage * img)
{
// 这里你可对img处理
}
...
因为OnClick的参数Sender就是本身
CTAer 2003-08-19
  • 打赏
  • 举报
回复
我是楼主
总共有9个Image,如果OnClick代码为
Image1->Picture->LoadFromFile("C:\\xxx.bmp");
照楼上的办法点其他8个Image时都会在Image1显示xxx.bmp
怎样才能做到点哪个就让哪个Image显示xxx.bmp呢?
当然,我不希望为每个Image写OnClick代码。
kanhongsh 2003-08-19
  • 打赏
  • 举报
回复
你先编写完成OnClick事件函数后,如myImageOnClick().

Image1->Onclick = myImageOnClick;
Image2->Onclick = myImageOnClick;
...
MAX°孟兆 2003-08-19
  • 打赏
  • 举报
回复
你先为一个IMAGE编写完成OnClick事件(如:TForm1::Image1OnClick())后,把剩下的IMAGE全部选中,然后点击Event页,在OnClick下拉列表框中选择刚才编写的OnClick事件就好了

www.maxss.net
柯本 2003-08-18
  • 打赏
  • 举报
回复
for(int i=0;i<ComponentCount;i++)
if (Components[i]->ClassNameIs("TImage"))
((TImage *)Components[i])->OnClick=(TNotifyEvent)&test;

13,825

社区成员

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

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