• ベストアンサー

PreTranslateMessageで音がする

VC++ MFCでダイアログのプログラムをつくってます。 エディットコントロールでEnterキーを押したら動作するプログラムをPreTranslateMessage(MSG* pMsg)関数でつくっているんですが、Enterキーを押すとPCからティン、ティン、と音がします。 この音をなくす方法はないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

PreTranslateMessage() は言わばポストされたメッセージの横取りに相当するので、Enter押下を検出したら戻り値TRUEを返すようにすれば、本来の処理(EditコントロールにEnter押下を通知する)は行われなくなります。

kotiya
質問者

お礼

ありがとうございます

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エディットコントロールでEnter押した時の動作

    VC++でMFCを使ってます。 エディットコントロールでEnter押した時の動作を設定したいのですがどうすればよいでしょうか? デフォルトではOnOKに入ってしまうようです。 今、m_edit1とm_edit2があり、それぞれEnter押した時は別の動作をさせたいです。

  • ボタンの表示の色、フォントを変更したい

    VC++でプログラミングしています。 MFCのダイアログベースのEXEを造っています。 ダイアログにはボタンとエディットボックスを貼り付けています。 私がやりたいのは以下のことです。 ・ボタンの色を設定したい ・ボタン、エディットボックスに表示する文字の色を設定したい ・ボタン、エディットボックスに表示する文字のフォント(サイズ)を設定したい プロパティでサイズ変更すると全体に反映されてしまうので、個々の コントロールについて制御したいと思っています。 ヘルプで調べて、それらしい関数を見つけるのですが使い方がわかりません。 VCを始めたばかりで、クラスの理解がまだ浅いです。。。 関数の説明は理解できても、「じゃあ、コードはどう書くの?」という状態です。 「○○ は ×× のメンバではありません」と、よく怒られてます。。。 識者の方、ご教授願います。 コードがどうなるのか知りたいので、簡単なサンプルコードがあると助かります。 また、質問ではないのですが、「この関数は○○をする」というのではなく、 「○○をするにはこの関数を使う」という様に調べられる、お勧めの書籍、 Webなどがありましたら教えてください。 今後の勉強に役立てたいと思っています。

  • VC++2010 MFC EDIT に格子

    VC++ 2010 MFC で エディットコントロールに 原稿用紙のような格子を入れる事は可能でしょうか? また、エディットコントロール以外で可能な方法はありますでしょうか? 現状はエディットコントロールの上にタイマーを使って コマ目に線を描画しているのですが、線がパカつくので 何か良い方法があれば教えてください。

  • エディットボックスの処理で画面がちらつきます。

    VC++ 6.0 Win32APIにてダイアログベースのプログラムを作成しております。 ダイアログに18個のエディットボックスを配置しておりますが、そのエディットボックスのテキストを SetDlgItemText()を使って全て空欄にすると(第3引数に””を指定)画面がちらつきます。 同ダイアログ内のリストコントロールがダブルクリックされた際のイベントを拾ってエディットボックスクリアの処理を実行しているのですが、ちらつきを抑える手法はありますでしょうか?

  • モードレスダイアログのキー入力について

    VC++6.0で親ダイアログで作成した子ダイアログをモードレスで表示しています。(ShowWindowで表示した後、子ダイアログが終了するまでループ) 両方のダイアログに、OKボタンとキャンセルボタンしかない時には、リターンキー・ESCキーを押せば子ダイアログが終了していました。(親ダイアログにフォーカスがあるときには親ダイアログが終了) ところが、子ダイアログが表示されている間、親ダイアログ上でプログレスバーを表示・更新ようにしたら、とたんにリターンキー・ESCキーが効かなくなり、マウスのクリックでしか終了することができなくなりました。 WEBで調べてPreTranslateMessageを追加して、この関数にブレイクポイントを設定しましたが、呼ばれている様子がありません。 子ダイアログをマウスのボタンクリックで終了させた後は、親ダイアログのPreTranslateMessageでイベントが取得できます。 何をどうしたらリターンキー・ESCキーのイベントが取得できるようになるのでしょうか?

  • VC++ファイル読み込みについて

    VC++のファイルの読み込みのことなのですが、 エディットボックス内に読み込むファイル名が記載されているとき そのエディットボックスの場所で、ENTERキーを押したとき ファイル内の情報を取り出すにはどうしたらいいでしょうか? ENTERキーはボタンをデフォルト化させており、 事なきをえていますが、 エディットボックスの方で困っています。 CStdioFile 文では出来ないのでしょうか? 初心者なので宜しくお願いします。

  • VC++のファイルの読み込みについて

    VC++のファイルの読み込みのことなのですが、 エディットボックス内に読み込むファイル名が記載されているとき そのエディットボックスの場所で、ENTERキーを押したとき ファイル内の情報を取り出すにはどうしたらいいでしょうか?

  • ダイアログベースでのキー入力について

    現在Win2000、VC++6.0でダイアログベースのアプリを作っています。 ボタンの存在しないダイアログにしているので、 終了するにはタスクバーから閉じるか、ALT+F4キーだけしかないと思っていましたが、 Enterキーを押すと終了してしまうことに気づきました。 このEnterキーを押すと終了してしまうのを回避するには どうしればいいのでしょうか? それと、もう一つ質問なのですが、 WM_CHARメッセージハンドラを追加しましたが、 キーを入力してもOnChar関数にやってきません。 (デバッグでブレークポインタを置いてみたのですが・・・) なにを間違えているのかが分かりません。 どうぞよろしくおねがいします。

  • VC++のエディットボックスの非表示

    VC++で、ダイアログを作りました。 エディットボックスを置いているのですが、 このエディットボックスは始めは非表示(入力を受け付けない)にするため、 このエディットボックスのプロパティにある "Disable"をtrueにして"Visible"もtrueにしました。 そこまではよかったのですが、 「入力」ボタンを押すと、エディットボックスが白く表示され、入力を受け付けるというようにしたいのですが、 エディットボックスのプロパティを変更する関数というのはあるのでしょうか? いろいろ検索などをしているのですが、方法がわかりません。よろしくお願いします。

  • MFCのCDialogクラスについて、、、

    環境:VC6.0、MFC、WinNT4.0 普通のモードレスダイアログを作成して、メニューから呼び出すようにしました。 デフォルトについてくる「OK」「Cancel」ボタンは要らないので削除しました。 ところが、アプリケーションを実行して作成したダイアログを呼び出した後、「Enter」或いは「Esc」キーを押すとダイアログが消えてしまいます。 それが消えないようにしたいのですが、、、 ご指導お願いします。