关于窗口初始化样式及显示最大化

1.在PreCreateWindow(CREATESTRUCT& cs)中更改窗口样式

   对 WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX的说明:后两者都依赖第一个,如果没有第一个,即使有后两个也没有效果。这里应该好理解,如果没有菜单栏,那么菜单上的各种按钮肯定也不会存在了。

   可以用来设置窗口在NORM状态下的 高度和宽度,以及右上角的坐标

    cs.cy = ::GetSystemMetrics(SM_CYSCREEN)/7*5;
    cs.cx = ::GetSystemMetrics(SM_CXSCREEN)/7*5;

    cs.y = ((cs.cy * 7/5) - cs.cy) / 2;
    cs.x = ((cs.cx * 7/5) - cs.cx) / 2;

2.框架最大化

   可能你在PreCreateWindow(CREATESTRUCT& cs)函数中设置了cs.style,并且里面包含WS_MAXIMIZEBOX,但你会发现,程序运行出来不是最大化,而是NORM状态。

   这是因为在应用程序类中的初始化函数中设置了ShowWindow()的参数为:SW_SHOW。

    若要实现最大化,则需作如下调整:

    BOOL CGPS_SPPApp::InitInstance()
{

.................................

// 唯一的一个窗口

已初始化,因此显示它并对其进行更新
 m_pMainWnd->ShowWindow(SW_MAXIMIZE);
 m_pMainWnd->UpdateWindow();
 // 仅当具有后缀时才调用 DragAcceptFiles
 //  在 SDI 应用程序中,这应在 ProcessShellCommand 之后发生

.................................................

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值