读书人

窗体置顶有关问题

发布时间: 2012-03-22 17:43:57 作者: rapoo

窗体置顶问题
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;
}
//---------------------------------------

读书人网 >C++ Builder

热点推荐