编者:李国帅
qq:9611153 微信lgs9611153
背景原因:
对话框是PC程序中相当重要的内容,功能不复杂的时候常用用到。
这是一段老旧的代码,拿出来打个卡。
古老而老生常谈的技术,过去的记忆,留在手里只会发霉,拿出来也许有人看。
问题描述及期望效果:
打开一个对话框,内容全屏显示。
所需资源:
Vc,mfc
解决方案:
void CSimpleDlgDlg::OnBnClickedButton1()
{
CDialog* pDlg;
pDlg = this;
//pDlg = m_pDlg;
if(pDlg == NULL)return;
DWORD WinStyle = pDlg->GetStyle();
WINDOWPLACEMENT m_OldWndPlacement;
pDlg->ModifyStyle(WS_CHILD,WS_POPUP);//修改风格
pDlg->GetWindowPlacement(&m_OldWndPlacement); //保存位置信息
// 获取屏幕的分辨率
CRect m_FullScreenRect;
m_FullScreenRect.left= 0;
m_FullScreenRect.top = 0;
m_FullScreenRect.right = ::GetSystemMetrics(SM_CXSCREEN);
m_FullScreenRect.bottom = ::GetSystemMetrics(SM_CYSCREEN);
BOOL m_bFullScreen=TRUE; // 设置全屏显示标志为 TRUE
// 进入全屏显示状态
WINDOWPLACEMENT wndpl;
wndpl.length=sizeof(WINDOWPLACEMENT);
wndpl.flags=0;
wndpl.showCmd=SW_SHOWNORMAL;
wndpl.rcNormalPosition= m_FullScreenRect;
CWnd* _tempparent=pDlg->SetParent(NULL);//修改父窗口
::ShowWindow(_tempparent->m_hWnd,SW_HIDE);
pDlg->SetWindowPlacement(&wndpl);
return ;
}
|