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

窗体置顶有关问题

2012-03-22 
窗体置顶问题BCB为什么连一个简单问题都处理不了?希望只是我写的不对。问题:如果从一个窗体打开另一个具有“

窗体置顶问题
BCB为什么连一个简单问题都处理不了?希望只是我写的不对。问题:如果从一个窗体打开另一个具有“总在最前面”的属性的窗体,但这时这个属性就不起作用了,代码大致是这样的:两个都是空白窗体TFomr1和TForm2,TForm1这启动窗体,为方便性,打开TForm2的代码在TForm1窗体双击事件中:
TForm2*   tf2=new   Tform2(this);
tf2-> Show();
这时tf2就不能在最前端显示了,我将TFomr1设置为最前端显示也不起作用

[解决办法]
Form 还有个属性 FormStyle 让其为 fsStayOnTop

再有还可以重载 CreateParams
.....

private:// User declarations
virtual void __fastcall CreateParams(TCreateParams &Params);
.....

void __fastcall TForm1::CreateParams(TCreateParams &Params)
{
TForm::CreateParams(Params);
Params.WndParent=NULL;
Params.ExStyle=Params.ExStyle|WS_EX_PALETTEWINDOW;
Params.Style=Params.Style&~WS_CAPTION|WS_POPUP;
}
//---------------------------------------

热点排行