を実装したダイアログに CEdit フィールドがあるEN_KILLFOCUS
ため、ユーザーが無効なデータを入力すると、フォーカスがこのフィールドから離れ、フォーカスが CEdit フィールドに戻ったときに警告メッセージが表示され、ユーザーが適切なデータを入力できるようになります。ユーザーが無効なデータを入力して CANCEL ボタンをクリックすると、警告メッセージも表示されます。ユーザーが [キャンセル] ボタンをクリックしたときに PostQuitMessage を実装しようとしましたが、これによりアプリケーション全体が閉じます。ユーザーが [キャンセル] ボタンをクリックしたときにダイアログのみを閉じたい。[キャンセル] ボタンをクリックした後、すぐにダイアログを閉じる方法はありますか。これは私が試したコードです。
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);
}
}