12 MFC - 非模态对话框

简介: 12 MFC - 非模态对话框

当非模态对话框显示时,运行转而执行程序中的其他任务,而不用关闭这个对话框。

图形界面操作过程和模态对话框一样,只是,非模态对话框实现方式不一样,先创建(CDialog::Create)一次,然后再显示(CWnd::ShowWindow)。

  1. 主对话框.h类中声明对话框对象:

  2. 创建对话框放在主对话框类的构造函数或OnCreate()函数,目的只创建一次对话框:
//主对话框构造函数
CDialogDlg::CDialogDlg(CWnd* pParent /*=NULL*/)
  : CDialogEx(CDialogDlg::IDD, pParent)
{
  m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
  m_dlg.Create(IDD_DIALOG_SHOW); //IDD_DIALOG_SHOW为对话框ID
}
  1. 按钮处理函数显示对话框:
//启动非模态对话框按钮
void CDialogDlg::OnBnClickedButton2()
{
  // TODO:  在此添加控件通知处理程序代码
  m_dlg.ShowWindow(SW_SHOWNORMAL); //显示非模态对话框
}


目录
相关文章
|
6月前
MFC控件间介绍(二)
MFC控件间介绍(二)
43 0
14 MFC - 普通按钮 CButton
14 MFC - 普通按钮 CButton
42 0
15 MFC - 编辑框CEdit
15 MFC - 编辑框CEdit
48 0
|
6月前
MFC控件介绍(一)
MFC控件介绍(一)
46 0
|
6月前
|
BI
MFC控件介绍(三)
MFC控件介绍(三)
55 0
|
索引
MFC中组合框CComboBox的使用
假如添加三行数据,其中当选择前两行时,提示自定义提示框信息,选择第三行时,提示当前字符串的内容,实现如下: void Cuse_demo_dllDlg::OnCbnSelchangeCombo1(){ int pos=m_combo.
1107 0
MFC设置窗体大小SetWindowPos
SetWindowPos(NULL,0,0,200,300,SWP_NOMOVE);     表示不考虑(0,0),仅仅将大小改为200x300,位置不变    SetWindowPos(NULL,0,0,200,300,SWP_NOMOVE);    表示不考虑200X300,只是把位置挪到(0,0).
4122 0
MFC弹出对话框几种方法总结
一、点击菜单按钮弹出对话框 1、在资源视图中(.rc文件夹下)找到menu,选择需要弹框的菜单项; 2、点击菜单项,修改菜单ID,在主程序中用ON_COMMAND()将ID和函数关联,要在主程序的头文件中声明被关联函数; ...
3718 0