怎么把所有Edit的onchange事件放在一个过程中处理?

CppFile 2003-08-31 10:28:31
因为要判断用户有没有 更改数据,如果更改了数据就要设置一个标志位,我的那个form中有十几个edit,我可不想在每个edit的onchang事件中写同样的代码。
有好的解决 方法么?
...全文
127 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
CTAer 2003-08-31
  • 打赏
  • 举报
回复
你先为一个Edit编写完成OnChange事件(如:TForm1::Edit1OnChange())后,把剩下的Edit全部选中,然后点击Event页,在OnChange下拉列表框中选择刚才编写的OnChange事件就好了
FallenAngel 2003-08-31
  • 打赏
  • 举报
回复
TEdit * edit = dynamic_cast<TEdit*>(Sender) ;
把这一句放到你每个Edit的OnChange事件中去,然后要改变属性,只要改变edit的属性就可以了
FallenAngel 2003-08-31
  • 打赏
  • 举报
回复
TEdit * edit = dynamic_cast<TEdit*>(Sender) ;
把这一句放到你每个Edit的OnChange事件中去,然后要改变属性,只要改变edit的属性就可以了
zht2000 2003-08-31
  • 打赏
  • 举报
回复
也可以用actionlist创建一个action事件,让其change事件指向它
dongyangzong 2003-08-31
  • 打赏
  • 举报
回复
设置一个Edit的事件,然后将其它的Edit的事件指向它即可。方法如下:
在Object Inspector中将事件的名称复制到其它事件即可。
事件的Sender参数指示哪个Edit触发事件
ThinkX 2003-08-31
  • 打赏
  • 举报
回复
如Kingcaiyao说的,很简单。
kingcaiyao 2003-08-31
  • 打赏
  • 举报
回复
void __fastcall TForm1::DoChange(TObject *Sender)
{
//Do Something....
}
void __fastcall TForm1::FormCreate(TObject *Sender)
{
for(int i=0;i<ComponentCount;i++)
{
TEdit *pEdit=dynamic_cast<TEdit*>(Components[i]);
if(pEdit) pEdit->OnChange=DoChange;
}
}
阿鹏兄 2003-08-31
  • 打赏
  • 举报
回复
是呀就用上面的方法,共享事件
zihan 2003-08-31
  • 打赏
  • 举报
回复
你在其中的一个Edit的change里面写
{
TEdit(Sender)->Text = "";
//这样就可以把所有的Edit都清空
}
然后把所有Edit的OnChange都选择该Edit的OnChange事件就可以了
nightfallrove 2003-08-31
  • 打赏
  • 举报
回复
按住SHIIFT选中所有Edit然后双击OnChange事件,,,
然后写代码,,,,
这时所有选中的Edit在改变内容时都是执行同一段代码

13,822

社区成员

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

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