読者です 読者をやめる 読者になる 読者になる

Enterキー(Escキー)を押しても、ダイアログが閉じないようにするには

MFC

ダイアログのクラスのPreTranslateMessage関数で、VK_RETURN、VK_ESCAPEをキャッチし、CDialogの実装の処理が行なわれないようにします。

BOOL CXXXDialog::PreTranslateMessage(MSG* pMsg)
{
	if( WM_KEYDOWN == pMsg->message )
	{
		switch( pMsg->wParam )
		{
			case VK_RETURN:
				return FALSE;
			case VK_ESCAPE:
				return FALSE;
			default:
				break;
		}
	}
	return CDialog::PreTranslateMessage(pMsg);
}

ネタ元