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