模式对话框
创建模式对话框步骤
- 创建模式对话框模板 IDD_COptionsDialog
- 构造一个CDialog对象,并封装对话框模板
COptionsDialog::COptionsDialog(CWnd* pParent /*=nullptr*/)
: CDialog(IDD_COptionsDialog, pParent)
, m_nHeight(0)
, m_nWidth(0)
, m_nUnits(-1)
{
// m_nHeight = 0;
// m_nUnits = 0;
}
- 调用CDialog:Domal()显示对话框
//点击Options 菜单项
void CChildView::OnFileOptions()
{
// TODO: 在此添加命令处理程序代码
COptionsDialog m_CODlg;
m_CODlg.m_nWidth = m_nWidth;
m_CODlg.m_nHeight = m_nHeight ;
m_CODlg.m_nUnits = m_nUnits ;
if (m_CODlg.DoModal()==IDOK)
{
m_nWidth = m_CODlg.m_nWidth;
m_nHeight = m_CODlg.m_nHeight;
m_nUnits = m_CODlg.m_nUnits;
Invalidate();
}
}
无模式对话框
- 创建对话框模板 IDD_COptionsDialog
- 构造一个CDialog对象,并封装进对话框模板
COptionsDialog::COptionsDialog(CWnd* pParent /*=nullptr*/)
: CDialog(IDD_COptionsDialog, pParent)
, m_nHeight(0)
, m_nWidth(0)
, m_nUnits(-1)
{
}
- 单击菜单项显示无模式对话框
void CChildView::OnFileOptions()
{
// TODO: 在此添加命令处理程序代码
if (m_pDialog != NULL)
m_pDialog->SetFocus();
else
{
m_pDialog = new COptionsDialog;
m_pDialog->m_nWidth = m_nWidth;
m_pDialog->m_nHeight = m_nHeight;
m_pDialog->m_nUnits = m_nUnits;
m_pDialog->Create(IDD_COptionsDialog);
m_pDialog->ShowWi