当用户单击属性表上的确定或应用按钮并且程序确定某些页面上的数据无效时,如何使包含错误的页面与描述错误的消息框一起显示?
目前,执行验证的过程在处理 PSN_APPLY 通知时执行以下操作。
MessageBox (hDlg, "Data must be positive!", "Error", MB_OK);
SetWindowLong (hDlg, DWL_MSGRESULT, PSNRET_INVALID);
如果当前显示正在执行验证 (A) 的页面,但如果正在显示其他页面 (B),则会出现消息框并显示该页面 (B),然后当消息框被回答时,页面显示验证错误 (A)。我考虑过设置一些标志,以便当该页面 (A) 收到 PSN_SETACTIVE 通知时,它会显示消息框,但这似乎有点做作。
c++ 中的 Win32 API,没有 MFC,没有 NET,没什么花哨的。