c++ builder 中的Sender 怎么用?另加50分 (20分)

  • 主题发起人 主题发起人 41426277
  • 开始时间 开始时间
4

41426277

Unregistered / Unconfirmed
GUEST, unregistred user!
如题
另加50分
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2301903
 
可将Sender转成其它对象类型使用,前提是指向的是同一对象.
如,将Sender转成TEdit类型使用:
1.判断Sender的类型
if( AnsiString(Sender->ClassName()) == "TEdit" )
2.转换类型
TEdit* edit = (TEdit*)Sender;
3.使用转换后的指针变量,操作对象
edit->Text = "test";
 
一般你不用Sender的啊
用法嘛很多,举个简单的例子给你看看吧
比如说动态创建一组按钮,
for(int i(0);i++<3;)
{
bt = new TButton(this);
bt->Parent = this;
bt->Left = 20+i*80;
bt->Top = 20;
bt->Caption = "TestButton"+IntToStr(i);
bt->OnClick = onclick;
}
onclick事件是这样的
void __fastcall TForm1::onclick(TObject *Sender)
{
//就是用Edit1来显示你点击的按钮的Caption
Edit1->Text = dynamic_cast<TButton*>(Sender)->Caption ;
}
不知道你看懂了没有,
我是因工作需要刚转向BCB的,懂的也不是很多,一起学习吧
 
apw 在
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2301903
里送分
 
多人接受答案了。
 
后退
顶部