*

MFCプログラミング(4):Enter(ESC)キーでダイアログが閉じないようにするための設定

公開日: : C++, MFC, Windows, 開発

どもです。
前回、Enterキー/ESCキーでダイアログが閉じられることを回避する方法を記載しました。
しかし、この内容だけでは不十分な点がありました。
なので今回は、この「不足」を補足する内容を記載する。

1.不足していた内容

前回のエントリーでは、キー入力を処理するためのPreTranslateMessage()での処理を記載しました。
しかし、この「PreTranslateMessage()を呼び出す処理」が設定されていません。
この「PreTranslateMessage()を呼び出す処理」の設定方法について書きます。

2.設定方法

それでは、「PreTranslateMessage()を呼び出す処理」の設定方法です。
なお、環境は下記の通りです。

・CPU:i7-8700 CPU 3.20GHz
・メモリ:16.0GB
・OS:Windows 10 Pro(バージョン:1903)
・Visual StudioCommunity 2019 Version 16.3.9

まず、VisualStudioでクラスビューを表示します。
その中で、「PreTranslateMessage()」を追加したいクラスを選択します。
VisualStudui_001_ClassView
その状態で右クリックして、メニューの中からプロパティを選択します。
(すみません。この画面のスクリーンショットが撮れませんでした。)

表示されたプロパティ画面の中で、「オーバーライド」を選択します。
VisualStudui_002_ClassProperty

下にスクロールすると、「PreTranslateMessage」の行があるので、そこにフォーカスします。
すると、右側にコンボボックスの矢印が表示されるので、それをクリックします。
VisualStudui_003_ClassOverride_001
コンボボックスの選択肢として、「PreTranslateMessage」が表示されるので、これを選択します。
VisualStudui_003_ClassOverride_002
そうすると、対応するダイアログクラスに「PreTranslateMessage」のスケルトンが追記されます。
VisualStudui_004_AddedCode
あとは、追加されたスケルトンに対して、前回のエントリーで紹介したコードを記載していけばOKです。

3.まとめ

今回のエントリでは、キー入力を「横取り」するための関数、イベントハンドラの設定方法について記載しました。
これで、MFCを使ったアプリケーションでもいろいろなキー入力を処理できるようになりました。
さて次は…。

ではっ!

関連記事

RasPi_Qt

Rasbianの新しいバージョンが出たので、クロス環境を更新してみた。(さらにその後)

どもです。 前回の投稿から、かなり時間が空いてしまいましたが、今回は前回の続きとして、「QtC

記事を読む

eclipse_4.3_kepler

eclipse/CDTにおけるgdbでのデバッグ中に発生するpythonのエラー

どもです。 今回のエントリーは、Eclipse上でのデバッグの際に「pythonのエンコードエラー

記事を読む

think_about_utest

単体テストの効率化を考える(4)-スタブの引数(ダブルポインタ)

どもです。 「単体テストの効率化について考える」の4回目です。 1回目から3回目まではコチラ

記事を読む

iot_at_home_eye_catch

IoT開発(3)-ESP-WROOM-02でデータを送信

どもです。 この記事は、IoT開発(1)-ESP-WROOM-02のセットアップ、IoT開発(

記事を読む

eclipse_oxygen

Linux/EclipseでRaspberryPiのクロス環境を構築してみた…がっ!

どもです。 前回のエントリでは、WindowsにRaspberryPi3のクロスコンパイル環境の構

記事を読む

RasPi_Qt

QtでRaspberryPi/GUI開発(4):イベントハンドラの設定

どもです。 前回のエントリーで、「タッチスクリーンを買った」と書きました。 今回からは、このタッ

記事を読む

OpenCvLogo

RaspberryPiで物体検出(1)-白線検出への挑戦(1):輪郭検出による白線検出

どもです。 今回は、OpenCvを用いて道路の白線検出について、です。 1.今回の環境 O

記事を読む

think_about_utest

VisualStudioで実行した単体テストの結果の出力(2)-出力ファイルの読める化

どもです。 前回の続きです。 前回は、VisualStudio/C#での単体テストの効率

記事を読む

OpenCvLogo

OpenCvによる画像サイズ変更

どもです。 最近、カメラの動画をOpenCvで加工する、ということに挑戦し始めました。 しか

記事を読む

raspberry-pi

RaspberryPi起動時にpigpiodがスタートしないようにする

どもです。 これまでpigpioを使用してRaspberryPiからLEDをチカらせる方法など、い

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

arduino_relay_switch_002_ae_g5v_drv_eye_catch
Arduinoでリレースイッチ(2)-AE-G5V-DRV

どもです。 前回の記事では、「フォトカプラリレー」を使用したLチ

tlp222af_001_eye_catch
Arduinoでリレースイッチ(1)-TLP222AF

どもです。 つい先日、やっとのことでリレースイッチを手に入れるこ

c_sharp_eye_catch
外部からMariaDbにアクセスする(2)-C#からMariaDbにアクセスする。

どもです。 前回のエントリで、外部からMariaDbにアクセスす

c_sharp_eye_catch
外部からMariaDbにアクセスする(1)-データベースの設定

どもです。 今回は、Linux上のMariaDbにWindows

think_about_utest
middle_unit
最小…よりも(ほんの)少し大きいテストフレームワーク

どもです。 今回は、単体テストのフレームワークについて書きます。

→もっと見る

PAGE TOP ↑