1

WinApi の CComboBox のアイテムに何かを描画しようとしています。これを行うには、アイテム (特定のアイテムを含む) を表すウィンドウのハンドルが必要です。質問がありますが、これは可能ですか? どうすればいいですか?または、ComboBox の特定のアイテムを描画する方法について、別のアイデアを思いついたかもしれません。プシェメク

4

2 に答える 2

1

必要なのは、所有者が描いたコンボボックスです。

CCombobox::DrawItem のドキュメントを参照して、各アイテムが描画されるときにそのハンドルを取得する方法と、それを描画する方法を理解してください。

フレームワークは、コントロールの視覚的側面が変更されたときに、オーナー描画コンボ ボックス コントロール、リスト ボックス コントロールのオーナーに対してこのメ​​ンバー関数を呼び出します。

CBS_OWNERDRAWVARIABLE注:コンボ ボックスの作成時にスタイルを指定する必要があります。(Visual Studio リソース エディターのコンボ ボックスのプロパティ ウィンドウからも設定できます。)

于 2012-07-11T09:51:02.380 に答える
0

CComboBox をカスタマイズする場合は、CComboBoxクラスから継承して関数をオーバーライドする必要がありますOnCtlColorこれを調べて

于 2012-07-11T09:23:51.653 に答える