我的對話框中有一個CEdit字段,我已經實現EN_KILLFOCUS
,所以當用戶輸入無效數據時,當焦點離開這個字段並且焦點返回時顯示一條警告消息到CEdit字段,以便用戶可以輸入正確的數據。如果用戶輸入無效數據並單擊CANCEL按鈕,則還會顯示一條警告消息,這是不希望的,因爲用戶無論如何都試圖取消他的動作。當用戶點擊CANCEL按鈕時,我嘗試過實現PostQuitMessage,但是這會關閉整個應用程序。當用戶點擊CANCEL按鈕時,我只想關閉我的對話框。點擊「取消」按鈕後,是否有任何方法可以立即關閉對話框。這是我試過的代碼。關閉一個對話框,點擊取消按鈕忽略EN_KILLFOCUS
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消息? – rrirower