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

怎么让设计即所得——Form设计宽度不等于程序运行时宽度

2013-04-20 
如何让设计即所得——Form设计宽度不等于程序运行时宽度一、程序执行时窗口自动最大化,请问这是如何实现的?Wi

如何让设计即所得——Form设计宽度不等于程序运行时宽度
一、程序执行时窗口自动最大化,请问这是如何实现的?Win7系统,C++ Builder6.0

二、程序执行时Form的宽度不等于设计时宽度,显示效果不好,有什么办法可以实现“设计即所得”吗?
或者有什么办法可以让程序运动时(非最大化)Form的初始显示宽度至少大于某个控件(如Pannel)的宽度
[解决办法]

void __fastcall TForm1::FormCreate(TObject *Sender)
{
this->WindowState = wsNormal;
this->Width = this->Panel1->Width+50;
}

我是不是看出了啊
[解决办法]
引用:
引用:C/C++ code?12345void __fastcall TForm1::FormCreate(TObject *Sender){this->WindowState = wsNormal    ;this->Width = this->Panel1->Width+50;}
我是不是看出了啊

当前窗口继承于模板,this-……

这方法是不能与WindowState=wsMaximized同时使用的,而且BorderStyle不能是bsDialog。
[解决办法]
重载 AfterConstruction 方法。
class TMyForm : public TParentForm
{
 ....
virtual void __fastcall AfterConstruction(void)
{
    TParentForm::AfterConstruction();
    this->WindowState = wsNormal;
    this->Width = this->ListView_data->Width + 50; 
}
....
};

热点排行