2009-07-03 17 views
1

リストボックスにDrawItemを使用するのはいつですか? 通常、リストボックスがownerdrawの場合、DrawItemが使用されます。私たちがdrawitemを使用する他のシナリオは何ですか?DrawItem in listbox(VC++)

答えて

0

のRashmiパンディットに詳述すると、 DrawItemをオーバーライドしたListBoxを使用してオブジェクトを 'ビジュアル化'することもできます。私が取り組んでいるプロジェクトでは、データベースから行を表示するためにListBoxが使用されています。各行/項目は、書式設定された文字列、アイコンなどを使用して視覚化されます。

オーバーライドするDrawItem(およびMeasureItem!)は、この目的には最適です。もちろん、内部構造を微調整する必要があります(標準のItemsプロパティをオブジェクトに使用することはできません)が、確かに価値があります。

+0

VC++を使用しているのを見たことがあります。私はDelphiを使用しています。しかし、哲学はおそらく非常に同じです – Martijn

0

メッセージWM_DRAWITEMは、オーナーが作成したリストボックスにのみ送信されます。

0

デフォルトの実装をオーバーライドし、リストボックスの描画方法をカスタマイズする場合は、DrawItemを使用できます。例えば、リストにはデフォルトの項目でなければならない項目があり、その項目が強調表示されてデフォルトの項目であることが分かります。

は、ここでC#でコンボのための例です:Higlighting a particular item in a combo box