DoModal函数返回值对应的是对话框的关闭方式。默认的关闭方式是IDOK和IDCANCEL,对应的返回值是1和2。如果对话框中有多个按钮,我需要按不同的按钮返回不同的值,从而调用不同的处理函数怎么办?那就需要设置不同的的关闭方式。
int iRet = dlg.DoModal();
iRet对应的就是不同的关闭方式。如何定义关闭方式?
比如对话框中有一个IDTEST的按钮,首先看一个该按钮对应的int值是多少?
#define IDTEST 1262
接下来对该按钮进行消息响应函数
void CTestDlg::OnTest() //设计关闭的方式
{
// TODO: Add your control notification handler code here
int nRet=1262;
EndDialog(nRet);
}
上一步就是把点击IDTEST按钮时,关闭的方式设置成了1262,这个时候,就可以在DoModal()函数中调用不同的函数了
CTestDlg dlg;
int iSel = dlg.DoModal();
if( iSel ==IDTEST) //iSel的返回值是1262
{
}