wince MFC窗口全屏

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);
	}

该操作我放在析构函数中。


win32的则需要对应的修改下。


上述代码在CE5.0上测试通过。


你可能感兴趣的:(wince MFC窗口全屏)