CDialog::DoModal()的返回值 和 自定义返回值

一般来说模态对话框都是调用 CDialog::EndDialog(int);结束的
模板生成的OnOK();和OnCancel();分别对应EndDialog(IDOK);和EndDialog(IDCANCEL);
以下是一般对话框的结束码定义:
#define IDOK                1 用户单击OK按钮中止对话框的返回值
#define IDCANCEL            2 单击CANCEL按钮中止对话框的返回值
#define IDABORT             3 对话框异常中止时返回值
#define IDRETRY             4 用户单击重试按钮中止对话框的返回值
#define IDIGNORE            5 用户单击忽略按钮中止对话框的返回值
#define IDYES               6
#define IDNO                7
#if(WINVER >= 0x0400)
#define IDCLOSE             8 用户单击关闭(右上角红X)按钮中止对话框的返回值
#define IDHELP              9 用户单击帮助按钮中止对话框的返回值
#endif /* WINVER >= 0x0400 */
你也可以自己定义结束码,为int类型,然后由调用对话框的函数去判断结果(如下:)
IDC_MY_BTN //对话框上面 自定义按钮的ID
void CMyDlg::OnMyBtn() IDC_MY_BTN 按钮单击响应事件
{
EndDialog(IDC_MY_BTN );	//返回值 就是 IDC_MY_BTN了
}
使用方法:
CMyDlg dlg;
if(dlg.DoModal() == IDC_MY_BTN)
	MessageBox("IDC_MY_BTN");
 
  
 
  
FROM : http://blog.csdn.net/laga516/article/details/7050258
 
  
 
 

你可能感兴趣的:(C&C++/MFC)