おいちゃんのおぼえがき

仕事のTipsをメモするブログ

MFCフォームでキーを拾う

2009-02-23 | Win
ダイアログで乗っているコントロールではなくフォーム自身でキーを拾いたいときは、CDialog::PreTranslateMessage()をオーバーライドする。

メッセージを処理したなら return TRUEを、未処理なら CDialog::PreTranlateMessage() を呼ぶこと。

BOOL CWinVendDlg::PreTranslateMessage(MSG* pMsg)
{
char c;

if (pMsg->message == WM_KEYUP) {
c = (char)pMsg->wParam;
if (c == '\r') {
AfxMessageBox(gKeyin);
gKeyin.Empty();

} else if (c == '\x1b') {
return CDialog::PreTranslateMessage(pMsg);

} else {
gKeyin += CString(c);
}
return TRUE;
}

return CDialog::PreTranslateMessage(pMsg);
}

この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« VB2008 型変換 | トップ | RGB->モノクロ変換 »

Win」カテゴリの最新記事