【发布时间】:2015-02-25 17:24:05
【问题描述】:
我的对话框中有一个 CEdit 字段,我在其中实现了 EN_KILLFOCUS,因此当用户输入无效数据时,当焦点从该字段移开并且焦点返回到 CEdit 字段时,会显示一条警告消息,以便用户可以输入正确的数据。如果用户输入无效数据并单击取消按钮,则还会显示一条警告消息,这是不希望的,因为用户无论如何都试图取消他的操作。当用户单击 CANCEL 按钮时,我尝试实现 PostQuitMessage,但这会关闭整个应用程序。当用户单击 CANCEL 按钮时,我只希望我的对话框关闭。单击取消按钮后,有什么方法可以立即关闭对话框。这是我试过的代码。
void CMARPropWnd::OnParentNotify(UINT message, LPARAM lParam)
{
CCDialog::OnParentNotify(message, lParam);
// TODO: Add your message handler code here
CPoint ptButtonDown(LOWORD(lParam),HIWORD(lParam));
if ((message == WM_LBUTTONDOWN) && (ChildWindowFromPoint(ptButtonDown) == GetDlgItem(eMARPropWndCancelBtnId)))
{
PostQuitMessage(0);
}
}
【问题讨论】:
-
Vaidation 已在另一个项目中实施。我对此无能为力:) 如果有解决方案,我将不胜感激
-
您尝试过发布 WM_CLOSE 消息吗?
标签: visual-c++ mfc message-map