2011-08-20 25 views
1

TListViewのテーマを使用したアプリケーションでは無効になっている、集中と選択した項目は、このようなものを表示されます。項目の塗装されたボックスは、アイコンが表示される場所を描画しません。 TListBoxでは、ペイントされたアイテムが選択されたアイテム全体を塗りつぶします。TListViewの項目重点テーマ設定

テキスト部分の場合と同様に、選択した項目のアイコン部分をどのように埋めることができますか?

私はこのようなTListBoxレンダリングを知っていますが、TListViewはDataプロパティにTListViewを使用する必要があります。また、TListViewはTImageListを使用してアイコンをよりよく処理します。

ありがとうございました。

+0

コンポーネントのカスタム描画機能を使用します。 –

答えて

4

TListViewのOnCustomDrawイベントを使用する必要があります。イベントハンドラ内で:項目はコントロールが項目が選択されている場合

  • 青色、制御が選択されていない場合はグレー(適切な選択四角形を描画集束される場合
  • が決定選択された場合

    1. 決定それは)
    2. ある場合のための方法がありますTImageList.Draw

    を使用してイメージリストからイメージを描き、テキスト

  • を描きますDrawTextやFillRectなど、これらのことを実行します。

    では、むしろTListViewではなくTListBoxを使用することに注意してください。あなたは、リスト内の項目のDataプロパティが必要であると指示しました。実際のモデルオブジェクトに結びつけると仮定します。 TStrings.Objectsを使って、TStringをサポートするもの(TListBox.Itemsなど)でこれを行うことができます。

  • +0

    +1私はちょうどあなたの答えの一番下まで読んで、答えの第二部分が私の後の答えと同じであることを見てください。 –

    関連する問題