▲创建对话框
1.在资源中新建对话框资源
2.在类向导中添加新类(CMyDiag),基类为CDialog,对话框为新建的对话框资源
3.创建对话框
模态对话框
CMyDiag mydiag //实例化对话框对象
mydiag.DoModal() //显示模态对话框
/
非模态对话框
CMyDiag mydiag
mydiag.Create(...) //初始化非模态对话框对象
mydiag.ShowWindow(...) //显示非模态对话框
▲OnInitDialog()
在对话框显示之前,会收到WM_INITDIALOG消息,在CDialog类中,由虚函数OnInitDialog()函数响应此消息。可重写此函数完成一些控件操作等。
▲对话框分为模态和非模态两种。
模态对话框会停留在DoModal()处,直到该函数返回为止才会继续执行下条语句。DoModal()只有在点击确定或取消时才会返回。随后模态对话框销毁。
非模态对话框不会停留在某个函数,在点击确定或取消时,非模态对话框只是隐藏并非销毁,因此应重写响应点击确定的消息函数OnOk()或响应点击取消的消息函数OnCancel(),并在其中用DestroyWindow()销毁窗口,OnOk()和OnCancel()均是父类CDialog的虚函数。
▲OnOK()
CDialog的虚函数,当点击ID为IDOK的按钮或回车键时,调用该函数
▲OnCancel()
CDialog的虚函数,当点击ID为IDCANCEL的按钮或ESC键时,调用该函数