回 帖 发 新 帖 刷新版面

主题:控件问题求解!

我以EDIT1控件为例,在他的代码编译器里怎么写啊?
看这里
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Edit1Change(TObject *Sender)
{

}
//------------------
我双击控件后应该“void __fastcall TForm1::Edit1Change(TObject *Sender)”吧,怎么多出上面那个啊,那个语句是干什么用的啊?菜鹩求问!

回复列表 (共6个回复)

沙发

__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
是吗,当Form1界面在程序中生成时,会启动这个事件,比如你初始化变量什么的
你就可以写到这个事件里
这个时间是默认有的,不用的话不用管它

板凳

要不要我每次删了它啊,我每次都没用到!
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
你说“这个时间是默认有的,不用的话不用管它”什么时间啊?能说明一下吗?

3 楼

没必要删了
这个事件是说,当你执行程序时,程序会先初始化界面(就是你在设计时的主界面)
这个时候他就激活这个事件
一般这个函数都用来初始化一些数据

4 楼

窗体的构造函数,没必要理会,除非你想在程序起动的时候进行一些初始化设置

5 楼

有很多这样的函数的
你需要的时候往里面写代码,完成你定义的操作
不需要的时候他什么都不做
不占资源

6 楼

其实也是占资源的,至少要判断一下你的每个事件是否有代码。
事件初始化代码:(可以再dfm文件中找到)
OnChange = Edit1Change;
判断事件是否定义代码:(VCL源码中找到)
if(OnChange)
  OnChange(this);

我来回复

您尚未登录,请登录后再回复。点此登录或注册