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

本文详细介绍了模态对话框的各种结束码及其定义,包括常见的OK和Cancel按钮对应的IDOK和IDCANCEL,以及自定义按钮如何设置和使用结束码。通过实际代码示例展示了如何为自定义按钮设置返回值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一般来说模态对话框都是调用 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 */

你也可以自己定义结束码,然后由调用对话框的函数去判断结果(如下:)
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");





                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值