MFCでEnterキーが反応してしまう – プログラミング – Home

MFCでEnterキーが反応してしまう
 
通知
すべてクリア

[解決済] MFCでEnterキーが反応してしまう


又次郎
 又次郎
(@又次郎)
ゲスト
結合: 20年前
投稿: 5
Topic starter  

お世話になっております。

新規作成でMFCダイアログベースを作成し
そのダイアログにエディットボタンを追加しました。

そのエディットボックス中に Enterキーを押したのですが、
OKボタンが反応してしまいます。

特に設定もしていないのになぜ反応するのでしょうか?

リソースエディタでエディットボックスのになるWant ReturnをTrueに
変更してみましたが、変化があらわれませんでした。

なぜ反応するのか、どうやって対処するのかを教えていただけませんか?
よろしくお願いします。


引用未解決
トピックタグ
joe
 joe
(@joe)
ゲスト
結合: 20年前
投稿: 2
 

BOOL CxxxDlg::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_RETURN)
return TRUE;
return CDialog::PreTranslateMessage(pMsg);
}


返信引用
島
 島
(@島)
ゲスト
結合: 22年前
投稿: 238
 

>なぜ反応するのか
Windows のダイアログでのごく普通の動作だからです
デフォルトボタンについて調べてみてください


返信引用
又次郎
 又次郎
(@又次郎)
ゲスト
結合: 20年前
投稿: 5
Topic starter  

返答していただいてありがとうございます。

他のエディットボックスなどでEnterキーが押された時になにか処理を行い
たい時はPreTranslateMessageに
そのつど処理を追加していくのでしょうか?


返信引用
又次郎
 又次郎
(@又次郎)
ゲスト
結合: 20年前
投稿: 5
Topic starter  

>Windows のダイアログでのごく普通の動作だからです
>デフォルトボタンについて調べてみてください

ボタンの設定にあるDefaultButtonはFALSEになっていましたけれど
Enterキーに反応してしまいます。
 


返信引用
joe
 joe
(@joe)
ゲスト
結合: 20年前
投稿: 2
 

>他のエディットボックスなどでEnterキーが押された時になにか処理を行いたい時
if(GetFocus()->GetDlgCtrlID() == IDC_EDITx)
{
}


返信引用
qwer
 qwer
(@qwer)
ゲスト
結合: 20年前
投稿: 3
 

>>Windows のダイアログでのごく普通の動作だからです
>>デフォルトボタンについて調べてみてください
>
>ボタンの設定にあるDefaultButtonはFALSEになっていましたけれど
>Enterキーに反応してしまいます。

これも、
Windows のダイアログでのごく普通の動作だからです
Dialog Box Keyboard Interface について調べてみてください (^^;;;


返信引用
qwer
 qwer
(@qwer)
ゲスト
結合: 20年前
投稿: 3
 

ついでに、
>リソースエディタでエディットボックスのになるWant ReturnをTrueに
>変更してみましたが、変化があらわれませんでした。

ES_WANTRETURN
This style has no effect on a single-line edit control.


返信引用
又次郎
 又次郎
(@又次郎)
ゲスト
結合: 20年前
投稿: 5
Topic starter  

返答して頂いてありがとうございます。

>ES_WANTRETURN
>This style has no effect on a single-line edit control.
MultiLineをTrueにしたらエディットボックスで改行を行うことができました。

>これも、
>Windows のダイアログでのごく普通の動作だからです
>Dialog Box Keyboard Interface について調べてみてください (^^;;;
現在googleで検索中です。

>>他のエディットボックスなどでEnterキーが押された時になにか処理を行いたい時
>if(GetFocus()->GetDlgCtrlID() == IDC_EDITx)
>{
>}
やはりそのように書くのですね。


返信引用
qwer
 qwer
(@qwer)
ゲスト
結合: 20年前
投稿: 3
 

>現在googleで検索中です。

Windows ダイアログの仕様を調べるのだから、それよりも先に検索すべきもの(MSDN ラ
イブラリ)が手元にあるはずです。
#キーワード欄にDialog Box Keyboard Interface(二重引用符付き)で


返信引用
又次郎
 又次郎
(@又次郎)
ゲスト
結合: 20年前
投稿: 5
Topic starter  

>Windows ダイアログの仕様を調べるのだから、それよりも先に検索すべきもの(MSDN ラ
>イブラリ)が手元にあるはずです。
>#キーワード欄にDialog Box Keyboard Interface(二重引用符付き)で

検索したらでてきました。
おかげで納得することができました。
ありがとうございます。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました