コンボボックスで未選択にするには

解決


しも  2011-12-18 22:03:24  No: 103177  IP: [192.*.*.*]

コンボボックスのスタイルを2にしています。リストは2つ有ります。
リストのいづれかを選ぶと、反転表示されると思いますが、そのままでは、
誤って、マウスのホイールを動かした時に、その値が変更されるので、
そうならない様に未選択の状態にしたいのですが、どうしたら良いでしょうか?タブキーで他のコントロールにフォーカスを移せば、未選択の状態に
なるのですが、タブキーを押さなくても出来る方法は無いでしょうか?

編集 削除
くだん  2011-12-19 11:38:38  No: 103178  IP: [192.*.*.*]

VB2-VB6専用掲示板で開発環境を書いていないので、VB6.0として回答します。

>誤って、マウスのホイールを動かした時に、その値が変更される
かといって、勝手にフォーカスが移ってしまうのも使いづらいので、
通常はウィンドウメッセージの WM_MOUSEWHEEL を受け取らないように
すると思いますが。

タブキーと同じ動きをしたいなら、コード上からその操作を模倣する事が
できます。VB6.0 だと API かな。PostMessage で WM_KEYDOWN の VK_TAB
を送ってみて下さい。
API を使わないなら、総当りで全コントロールを検索して TabIndex が
次のものを探すとか。
特定のコントロールを選択するだけなら、コントロールの SetFocus メソッドで。

編集 削除
しも  2011-12-19 16:19:06  No: 103179  IP: [192.*.*.*]

アドバイス有難う御座いました。
結局、自分でコンボボックス自作しました。

編集 削除
しも  2011-12-19 16:20:06  No: 103180  IP: [192.*.*.*]

やれば出来るもんですね。

編集 削除