DoModal函数的执行过程(这是我观察MFC源代码得出的结论)
1:加载对话框资源;
2:使父窗口失去焦点;
3:创建对话框窗口;
4:执行对话框的消息循环;
5:退出消息循环,隐藏对话框窗口(大小及位置:0,0, 0, 0);
6:使父窗口重新获得焦点;
6:调用DestroyWindow销毁对话框窗口。
7:释放对话框资源。
// load resource as necessary
// disable parent (before creating dialog)
// create modeless dialog
// enter modal loop
// hide the window before enabling the parent, etc.
// destroy modal window
// unlock/free resources as necessary
其他的过程我不是很清楚,我想说的一点是DoModal函数调用之后对话框的资源已经被释放,不能再去访问对话框的内容。如:访问CComboBox控件关联的CComboBox变量的选项。