2011-08-17 9 views
0

これはC#の質問と似ていますが、皆さんが知っているようにMFCは.NETではありません。 MFCオブジェクトは.NETオブジェクトと同じランタイムプロパティを持ちません。MFC:CComboBoxリスト(選択されていない項目)で現在ハイライトされている項目を特定する方法

+0

アイテムを選択せず​​にハイライトすることはできません。選択を取り消すことはできますが、選択は*です。 –

+0

コンボボックスでドロップダウンをクリックし、マウスをリスト内の項目に移動します。項目は強調表示され、Enterキーを押すと選択された項目が表示されます。 – franji1

答えて

1

(単純なテキストリストであっても)オーナー描画メカニズムを使用すると、コールバックには、どの項目が現在強調表示されているかを示すフラグ/属性が表示されます"

複雑さがComboBoxExコントロール( - 質問しないで、例えば、基本的なコンボボックスのスタイルがComboBoxExには適用されません)での基本的なコンボボックスの機能を実装しようとしているよりもはるかに少ないでした。

0

私は....ハイライト表示された項目の変更はあなたがCB_GETCOMBOBOXINFOメッセージを受け取るたびに、それは非常に助けになるだろうかどうかを知りませんが。私はあなたがこのメッセージを受け取った情報をthikません

は助けるために起こっているが、あなたは本当に多分あなたは、マウスの位置とすべての項目の高さに基づいて、それを計算することができ強調した項目を知っておく必要があります。少しトリッキーですが可能です。

私はそれが役に立ちそうです。

+0

これは私たちが望むものを私たちに与えるかもしれないと思います。私たちはCComboBoxExをいくつかの "追加"通知を持って調べ始めました.1つは、あなたが項目が "選択されている"かどうかを知らせるフラグを持っています。知らせます! – franji1

+0

ComboBoxExは、基本的な単純なComboBox機能を実装するのは非常に難しかった。オーナー描画メカニズムを使用して終了しました - 詳細は私の答えを参照してください。 – franji1

関連する問題