我有一个我创建的属性表,每个标签页都共享相同的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)
到处理程序,但这是正确的方法吗?