WinApi の CComboBox のアイテムに何かを描画しようとしています。これを行うには、アイテム (特定のアイテムを含む) を表すウィンドウのハンドルが必要です。質問がありますが、これは可能ですか? どうすればいいですか?または、ComboBox の特定のアイテムを描画する方法について、別のアイデアを思いついたかもしれません。プシェメク
1506 次
2 に答える
1
必要なのは、所有者が描いたコンボボックスです。
CCombobox::DrawItem のドキュメントを参照して、各アイテムが描画されるときにそのハンドルを取得する方法と、それを描画する方法を理解してください。
フレームワークは、コントロールの視覚的側面が変更されたときに、オーナー描画コンボ ボックス コントロール、リスト ボックス コントロールのオーナーに対してこのメンバー関数を呼び出します。
CBS_OWNERDRAWVARIABLE
注:コンボ ボックスの作成時にスタイルを指定する必要があります。(Visual Studio リソース エディターのコンボ ボックスのプロパティ ウィンドウからも設定できます。)
于 2012-07-11T09:51:02.380 に答える
0
CComboBox をカスタマイズする場合は、CComboBox
クラスから継承して関数をオーバーライドする必要がありますOnCtlColor
。これを調べて
于 2012-07-11T09:23:51.653 に答える