VC++初心者のけーぼうです。
MFCのEditBox中でEnterキーを押した時、画面上の「OK」ボタンを押したのと同じ動作をします。
この「押されるボタン」を指定したいのですが、どのように指定すればうか?
文章が壊れてしまいました。
> どのように指定すればうか?
正しくは、
「どのように指定すればよろしいでしょうか?」
です。
よろしくお願いします。
「押されるボタン」のプロパティで、「標準のボタン」にチェックを入れると、
Enterが押されたときに、そのボタンがクリックされたのと、
同じ動作となるはずです。
#どのボタンにも「標準のボタン」のチェックが無い場合は、
#どうも「OK」が押されたのと同じ動作をしているようですが。。。(詳しくは見ていません)
KING・王さん、レスありがとうございます。
ボタンのプロパティの「Default Button」をTrueにすることで、指定できました。
ありがとうございます。
ところで、このDefault Buttonを動的に変更することはできないのでしょうか。
CButton, CDialog, CWndクラスのメンバにそれらしいものは見つかりませんでした。
エディットボックスA入力中はボタンAを、エディットボックスB入力中はボタンBを指定したいと思っています。
ボタンのスタイルに BS_DEFPUSHBUTTON を持たせれば可能かと思いますが
複数のボタンにこのスタイルを持たせたときに、どうなるのかはわかりません。
デフォルトボタンを変更するときは、デフォルトボタンは同一ダイアログ上にひとつだけ存在するようにすべきだと思います。
前言撤回。
CDialog::SetDefID が、ダイアログのデフォルトボタンを設定するメソッドみたいですね。
シャノンさん、いつもお世話になっています。
早速のレスありがとうございました。
ボタンのスタイルの設定でうまくいきました。
サンプルは、MSDNのCButton::GetButtonStyleにありました。
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vclib/html/_mfc_cbutton.3a3a.getbuttonstyle.asp
ありがとうございました。
あ。
そんな便利なものがあったのですね。
CDialog::SetDefIDを使ってみます。
ありがとうございました。
ツイート | ![]() |