WINCE应用程序全屏方法
1、全屏显示,不显示标题栏,但是有任务栏
在WINCE中实现全屏的方法,在Dlg的OnlnitDialog()里加入以下代码:
CRect m_FullScreenRect; //全屏区域
CRect WindowRect;
GetWindowRect(&WindowRect); //获得窗口的边框矩形尺寸
CRect ClientRect;
RepositionBars(0,0xffff,AFX_IDW_PANE_FIRST,reposQuery,&ClientRect);
ClientToScreen(&ClientRect);
intnFullWidth=GetSystemMetrics(SM_CXSCREEN); //以像素为单位计算X轴屏幕尺寸
intnFullHeight=GetSystemMetrics(SM_CYSCREEN); //以像素为单位计算Y轴屏幕尺寸
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(&wndBottom,m_FullScreenRect.left,m_FullScreenRect.top,m_FullScreenRect.Width(),m_FullScreenRect.Height(),SWP_SHOWWINDOW);
全屏显示没有标题栏有任务栏,运行的结果如下:
全屏运行
正常运行
2、全屏显示,有标题栏和任务栏
在Dlg的OnlnitDialog()里加入以下代码:
ShowWindow(SW_SHOWMAXIMIZED);
3、全屏显示,没有标题栏,隐藏状态栏
第一步:在对话框的属性中去掉标题栏即可:
第二步:将对话框拉到适合屏幕大小。
第三步:在Dlg的OnlnitDialog()里加入以下代码:(隐藏任务栏)
//隐藏任务栏
HWND hWnd=::FindWindow(_T("HHTaskBar"),NULL);
while(hWnd==NULL)
{
hWnd= ::FindWindow(_T("HHTaskBar"),NULL);
}
::ShowWindow(hWnd,SW_HIDE);
4、全屏显示,没有标题栏,遮住状态栏
第一步:在对话框的属性中去掉标题栏即可:
第二步:将对话框拉到适合屏幕大小。
第三步:在Dlg的OnlnitDialog()里加入以下代码:(其实任务栏可以不隐藏,直接用你的程序全屏置顶显示就可以了)
m_iX = ::GetSystemMetrics( SM_CXSCREEN );
m_iY = ::GetSystemMetrics( SM_CYSCREEN );
::SetWindowPos(this->m_hWnd,HWND_TOPMOST,0,0,m_iX,m_iY,WS_EX_TOPMOST);