wince的MFC程序窗口全屏,在InitDialog函数里面加:
CRect m_FullScreenRect; //全屏区域
CRect WindowRect;
GetWindowRect(&WindowRect);
CRect ClientRect;
RepositionBars(0, 0xffff, AFX_IDW_PANE_FIRST, reposQuery, &ClientRect);
ClientToScreen(&ClientRect);
int nFullWidth = GetSystemMetrics(SM_CXSCREEN);
int nFullHeight = GetSystemMetrics(SM_CYSCREEN);
m_FullScreenRect.left = WindowRect.left-ClientRect.left;
m_FullScreenRect.top = WindowRect.top-ClientRect.top;
m_FullScreenRect.right = WindowRect.right-ClientRect.right+nFullWidth;
m_FullScreenRect.bottom = WindowRect.bottom-ClientRect.bottom+nFullHeight;
this->SetWindowPos(this->GetWindow(GW_OWNER), m_FullScreenRect.left,
m_FullScreenRect.top, m_FullScreenRect.Width(),
m_FullScreenRect.Height(), SWP_SHOWWINDOW);
//hide the taskbar
HWND hTask = ::FindWindow(TEXT("HHTaskBar"), NULL);
if (hTask){
::ShowWindow(hTask, SW_HIDE);
}
另外,在程序退出前需要恢复任务栏的显示:
//show the taskbar
HWND hTask = ::FindWindow(TEXT("HHTaskBar"), NULL);
if (hTask){
::ShowWindow(hTask, SW_SHOW);
}
该操作我放在析构函数中。
上述代码在CE5.0上测试通过。