关于窗口初始化样式及显示最大化
  TEZNKK3IfmPf 2024年03月29日 103 0

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 之后发生

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

}

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2024年03月29日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年03月22日   105   0   0 html框架
  TEZNKK3IfmPf   2024年04月12日   53   0   0 框架前端
  TEZNKK3IfmPf   2023年11月12日   31   0   0 框架python
TEZNKK3IfmPf