First of all, I must announce that the main ideas of this paper are from Programming Microsoft Visual C++ Fifth Edition.
In order to demostrate the modeless dialog. Here I take the following steps:
1 Setup a single document MFC project.
2 Add a dialog (here we must make the dialog visiable), Here I do nothing to the dialog. The Create a new Dialog class for this dialog only has a pointer to its parent and also a User message to communicate with its parent. See the following segment for more information:
3 In the View class header, I add a CModelessDlg member, its forward declaration and the initialization of the class.
// forward declaration
class CModelessDlg;
private:
CModelessDlg* m_pDlg;
CmodelessView::CmodelessView()
{
// TODO: add construction code here
m_pDlg=new CModelessDlg(this);
}
CmodelessView::~CmodelessView()
{
if(m_pDlg)
delete m_pDlg;
}
4 Add a menu item named "Find" to the edit menu. and map its on command like this.
5 The above operation we can implement a modeless dialog now. but i also forward the dialog message to its parent
for more processing, The ToParent message.