现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

窗口全屏化的5种方法

2012-08-20 06:34 工业·编程 ⁄ 共 722字 ⁄ 字号 暂无评论

在很多的时候,希望自己的软件在整个窗口运行,以利用资源和显示清楚,方便用户。先将软件全屏显示的方法总结如下:

1. 最简单的方式:ShowWindow(m_hWnd, SW_SHOWMAXIMIZEDE);
2. 发送消息法:PostMessage(hWnd,WM_SYSCOMMAND,SC_MAXIMIZE,0);

3. 在PreCreateWindow(CREATESTRUCT& cs)函数中添加:
     {
         //...
         cs.style |= WS_MAXIMIZE;
         //...
     }
4. 使用MoveWindow()函数:先得到屏幕的大小再移动。如
           int nFullW = ::GetSystemMetrics(SM_CXSCREEN);
           int nFullH = ::GetSystemMetrics(SM_CYSCREEN);
           MoveWindow(0, 0, nFullW , nFullH, TRUE);
5. 使用SetWindowPos()函数:和4类似,但可以设置窗口的层(即Z轴)
           CWnd * pwndDesktop = GetDesktopWindow();
           CRect rectDesktop;
           pwndDesktop->GetWindowRect(&rectDesktop);
           SetWindowPos(&wndTopMost, rectDesktop.left, rectDesktop.top, m_rect.Width(), m_rect.Height(),  SWP_SHOWWINDOW);

给我留言

留言无头像?