MFC自定义模态窗口返回值

⌚Time: 2022-10-18 00:02:40

👨‍💻Author: Jack Ge

对于模态窗口,默认有一个确认和一个返回按钮,而点击它们的返回值是IDOK和IDCANCEL。

虽然这两个按钮的ID是IDOK和IDCANCEL,但是这与它们的返回值没有关系,而是因为它们调用了OnOk()和OnCancel()方法

如果想要自定义返回值,需要调用EndDialog()方法,它会结束模态窗口,并且将参数作为返回值

模态窗口中


if(...){

    EndDialog(1);

}else{

    EndDialog(0);

}

测试


MyWindow myWindow;

int ret = myWindow.DoModal();

if (1 == ret)

{

    MessageBox(L"返回1");

}else if (0 == ret){

    MessageBox(L"返回0");

}else if (IDCANCEL == ret){

    MessageBox(L"取消输入");

}