2016-11-24 7 views
0

タイトルバーに表示されたX(閉じる)ボタンを使って閉じる/終了したいダイアログベースのMFCアプリケーションがあります。そうするためのショートカット。
たとえば、Escキーを押します。助けてもらえますか?タイトルバーの[X]ボタンとエスケープショートカットを無効にするだけのMFCアプリケーションを閉じる

+1

のバイパス閉鎖をキャッチすることができ、同様の方法http://stackoverflow.com/questions/17828258/how-to-prevent-mfc-dialog-closing-on-enter-and-escape-キー –

答えて

0

PreTranslateMessage関数をオーバーライドし、EscキーをキャプチャするためのVK_ESCAPEの使用をキャッチします。あなたが他のメッセージとダイアログ

BOOL CMyDialog::PreTranslateMessage(MSG* pMsg) 
{ 
    if (pMsg->message == WM_KEYDOWN) 
    { 
     if ((pMsg->wParam == VK_RETURN) || (pMsg->wParam == VK_ESCAPE)) 
      return TRUE; 
    } 
    return CDialog::PreTranslateMessage(pMsg); 
} 
+0

[貧弱な回答](http://stackoverflow.com/a/17829314/1889329)を帰属せずにコピーすることを「盗作」*と呼びます。 -1これを行う適切なMFCの方法を検討していないため。 – IInspectable

+0

私はここで何をやっているのか教えてください。これは以前のプロジェクトでこれを使って、同じものをコピーしたものです。私は私のプロジェクトでもそれを適切にすることができるように、私は非MFCの方法であることを教えてください。あなたの来る答えに対して非常に感謝します。 – CKT

関連する問題