ホーム > プログラミング > Windows プログラミング > Enterキー(Escキー)を押しても、ダイアログが閉じないようにするには

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

解説

ダイアログは、EnterキーおよびEscキーを押すと、ダイアログが閉じるようになっています。

なぜこのような動作をするのかというと、CDialogの実装として、
「Enterキーを押すと、標準のボタン(通常はOKボタン)を押した動作」
「Escキーを押すと、Cancelボタンを押した動作」
をするように実装されており、さらに
「OKボタンを押したときには、ダイアログを閉じる」
「Cancelボタンを押したときには、ダイアログを閉じる」
ように実装されているためです。

EnterキーおよびEscキーを押しても、ダイアログが閉じないようにするには、
ダイアログのクラスのPreTranslateMessage関数で、VK_RETURN、VK_ESCAPEをキャッチし、CDialogの実装の処理が行なわれないようにします。

サンプルコード


ご意見、ご感想、ご質問、ご要望等は、「コメントを投稿する」もしくは「ホーム > コンタクト」よりお願いいたします。
内容の誤り、誤字脱字、リンクミスなどの問題点を発見された場合には「コメントを投稿する」もしくは「ホーム > コンタクト」より連絡していただけると幸いです。


Copyright (c) 2005-2018 Nobuki HIRAMINE All rights reserved.