QDilaog,如何获取自己的对话框是点击了确定还是取消按钮,c++代码
时间: 2024-01-02 10:01:50 浏览: 47
如果您是自己创建对话框,可以在创建对话框时为“确定”按钮和“取消”按钮分别指定不同的 ID,然后在处理按钮点击事件时,通过判断所点击的按钮的 ID 来确定是点击了确定还是取消按钮。具体实现可以参考以下代码:
```cpp
#include <Windows.h>
#include <CommCtrl.h>
// 对话框过程函数
INT_PTR CALLBACK DialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg)
{
case WM_INITDIALOG:
return TRUE;
case WM_COMMAND:
switch (LOWORD(wParam))
{
case IDOK:
EndDialog(hwndDlg, IDOK);
return TRUE;
case IDCANCEL:
EndDialog(hwndDlg, IDCANCEL);
return TRUE;
default:
break;
}
break;
default:
break;
}
return FALSE;
}
int main()
{
// 创建对话框
int result = DialogBox(NULL, MAKEINTRESOURCE(IDD_DIALOG1), NULL, DialogProc);
// 处理按钮点击事件
if (result == IDOK) {
printf("您点击了确定按钮!\n");
}
else if (result == IDCANCEL) {
printf("您点击了取消按钮!\n");
}
return 0;
}
```
在上述代码中,我们使用了 `DialogBox` 函数创建了一个自定义对话框,并为“确定”按钮和“取消”按钮分别指定了不同的 ID。在处理按钮点击事件时,我们根据返回的值来判断用户点击的是哪个按钮。如果用户点击了“确定”按钮,则返回值为 `IDOK`,如果点击了“取消”按钮,则返回值为 `IDCANCEL`。
阅读全文