首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

请问个窗体事件执行顺序有关问题

2012-07-23 
请教个窗体事件执行顺序问题1.建立窗体TFmin2.在Form头文件中定义公共成员Ppublic:// User declarationsSt

请教个窗体事件执行顺序问题
1.建立窗体TFmin

2.在Form头文件中定义公共成员P

public:// User declarations
  String P;



3.在另一个窗体中调用,并给P赋值

fm = new TFm(Application);
fm->P = "123";
fm->Show();


4.在fm窗体事件OnShow中显示p却是没有赋值,为什么呢?

void __fastcall TFm::FormShow(TObject *Sender)
{
  ShowMessage(P);
}

[解决办法]
你创建的窗体是不是mdichild的型的,改成normal的应该就没问题了。
[解决办法]
这种情况可以定义一个新的构造函数
TFm::TFm(TComponent* Owner, String str) : TForm(Owner) {
P = str;
}
然后
fm = new TFm(Application, "123");
fm->Show();


[解决办法]
这是因为你将fm的Visible设成true了,在设计时将这个属性改成false就可以了。
[解决办法]
问题,已经说清了。

想说一句,关于 mdichild 型窗口。你的fm是多定义的。直接:
new TFm(Application, "123")->Show();
即可。

MDIChildren[i]、ActiveMDIChild,可找到要处理的窗口。

热点排行