gpt4 book ai didi

c++ - PSN_QUERYCANCEL 不关闭属性表

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:00:57 25 4
gpt4 key购买 nike

我有一个我创建的属性表,每个标签页共享相同的 pfnDlgProc。在 pfnDlgProc 中,我有这段代码:

switch (msg) {
case WM_NOTIFY:
nmhdr = (NMHDR*)lParam;

switch (nmhdr->code) {
case PSN_QUERYCANCEL:
printf("PSN_QUERYCANCEL\n");
SetWindowLong(nmhdr->hwndFrom, DWL_MSGRESULT, FALSE);

return TRUE;
}

break;

...
}

当我单击属性表上的“取消”按钮时,打印了 PSN_QUERYCANCEL,但属性表没有关闭。为什么是这样?我还需要做些什么来让它关闭/关闭吗?我知道我可以将 DestroyWindow(nmhdr->hwndFrom) 添加到处理程序,但这是正确的方法吗?

最佳答案

您在向您发送通知的窗口句柄上设置 DWL_MSGRESULT,但不一定是您为其处理 WM_NOTIFY 的对话框窗口。不要使用 nmhdr->hwndFrom 窗口句柄,而是尝试使用传递给 pfnDlgProc 的 HWND。

关于c++ - PSN_QUERYCANCEL 不关闭属性表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7082915/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com