コマンドボタンをデフォルトボタンにしたい


ヒカル  2003-10-03 11:04:12  No: 52237  IP: [192.*.*.*]

こんにちは、ヒカルと申します。

コマンドボタンをデフォルトボタン(RETURNキー等で押されるような感じです)にするにはどうしたら良いでしょうか、CreateWindowのオプションではできないみたいで。

ローカルフックしなければダメでしょうか?
ただ、エディットがあったりもするので単純に
RETURNキーで拾ってしまうことはできませんし。

VBとかならプロパティ操作で簡単にできるのですが、
VCではどのようにすれば良いのか分りません。

宜しくお願いします。

編集 削除
瀬戸っぷ  2003-10-03 12:35:27  No: 52238  IP: [192.*.*.*]

> コマンドボタンをデフォルトボタン(RETURNキー等で押されるような感じです)にするには
> どうしたら良いでしょうか、CreateWindowのオプションではできないみたいで。

MSDNでCreateWindowを見るとウィンドウクラスにBUTTONを指定して作成するコトが判ります。
ココまでは把握していると思いますが……
ソコからButton Stylesのページへのリンクを辿ると、
BS_DEFPUSHBUTTONというウィンドウスタイルが見つかると思います。

> ただ、エディットがあったりもするので単純に
> RETURNキーで拾ってしまうことはできませんし。

フォーカスなどの問題もあるので、単純にBS_DEFPUSHBUTTONスタイルを
追加するだけでいいかは…ちょっと不明です。
また、同じダイアログ内に複数のBS_DEFPUSHBUTTONスタイルのボタンは配置出来ないでしょうから、
他のボタンから外す必要があるかも知れません。(OSがよろしくやってくれる可能性もありますが)

# 私はダイアログ上のボタンはダイアログエディタで配置して作っているので
# CreateWindowでコントロールを作った経験がほとんど無いです……

編集 削除
ヒカル  2003-10-03 13:17:13  No: 52239  IP: [192.*.*.*]

瀬戸っぷ さん

>ソコからButton Stylesのページへのリンクを辿ると、
>BS_DEFPUSHBUTTONというウィンドウスタイルが見つかると思います。

あれ〜ぇ、見落としていました
できないと思っていたのですが(^^;

どうもありがとうございますm(__)m

>フォーカスなどの問題もあるので、単純にBS_DEFPUSHBUTTONスタイルを
>追加するだけでいいかは…ちょっと不明です。

確かに、これだけではダメみたいですね。
もうちょっと調べてみます。

編集 削除
M&K  2003-10-05 22:07:36  No: 52240  IP: [192.*.*.*]

こんばんは  質問の意図と違ってたらごめんなさい。

リソースのデザイン画面にて、

メニューからレイアウトータブオーダーを選ぶ
ボタンをダブルクリックするとタブオーダーの1番になる

ので、リターンキーを押すと押されるボタンになります。

#ヒカルさんへ
初心者ですが一緒にがんばりましょう。みたいなコメントを以前書かれていたと思いますが、まさに私も同様です。
私も色々知りたいことがあるので、今後ともお見知りおきを。。。

#瀬戸っぷさんへ
以前、C言語の別サイトにて大変お世話になりました。(ハンドルネームは変えました。)
そのサイトはあまりやり取りが盛んでなかったので、このサイトで見かけてうれしかったです。今後ともよろしくお願いします。

編集 削除