DoModal函数的执行过程:
1:加载对话框资源;
2:使父窗口失去焦点;
3:创建对话框窗口;
4:执行对话框的消息循环;
5:退出消息循环,隐藏对话框窗口(大小及位置:0,0, 0, 0);
6:使父窗口重新获得焦点;
6:调用DestroyWindow销毁对话框窗口。
7:释放对话框资源。
DoModal函数的返回值:
使用有模式对话框时在对话框弹出后调用函数不会立即返回,而是等到对话框销毁后才会返回。
所以在使用对话框时其他窗口都不能接收用户输入。
同样的在你的对话框类中为了向调用者返回不同的值:
可以调用CDialog::OnOK()或是CDialog::OnCancel()以返回IDOK或IDCANCEL
返回其他的值,你需要调用 CDialog::EndDialog( int nResult );其中nResult会作 为DoModal()调用的返回值