这段代码可以使标准CE的对话框全屏显示,边界,标题栏
全部消失,而且CE的窗口工作栏也消失了。
void CBankDlg::FullScreenDialog(HWND hDlg)
{
int iWidth=GetSystemMetrics(SM_CXSCREEN);
int iHeight=GetSystemMetrics(SM_CYSCREEN);
HWND lpClassName;
lpClassName = ::FindWindow(TEXT("HHTaskBar"), NULL);
::ShowWindow(lpClassName, SW_HIDE);
//nocaptionandborder
SetWindowLong(hDlg,GWL_STYLE,GetWindowLong(hDlg,GWL_STYLE)&(~(WS_CAPTION
|WS_BORDER)));
//topandextendtofullscreen
::SetWindowPos(hDlg,HWND_TOPMOST,0,0,
iWidth,iHeight,SWP_NOZORDER);
}
退出的时候别忘了再把工作栏纠回来,可以在退出对话框的消息
映射函数中添加:
HWND lpClassName;
lpClassName = ::FindWindow(TEXT("HHTaskBar"), NULL);
::ShowWindow(lpClassName, SW_SHOW);
这样CE的界面又还原了。乃求的。
具体应用:在Dialog的OnInitDialog()中加入如下代吗:
HWND hw=this->GetSafeHwnd();
FullScreenDialog(hw);
::SetForegroundWindow(hw);
就实现了全屏幕对话框