くだすれDelphi(超初心者向け) Part4
■ このスレッドは過去ログ倉庫に格納されています
0780ななしへたぐらま ◆XcB18Bks.Y
NGNG各項目のCaptionの描画まではできているのですね.
リストビューコンポのオーナー描画機能は何度も拡張されたためにややこしくなっていますが,基本的にはOnDrawItemイベントのみを使うと考えてください.
(OwnerDrawプロパティをTrueにしないとこのイベントは発生しません)
このイベントは項目ごと発生します.項目の見出しやサブアイテムごとに描画イベントがあるわけではありません.イベントハンドラでは項目の見出しとそれに対応するサブアイテムの描画も同時に行います.
イベントハンドラには項目の見出しとサブアイテムの描画領域は渡されませんが,
・全体の領域(上下左右の端)→引数Rect
・各領域の上と下の端→引数Rectと同じ
・見出し領域(一番左の領域)の左端→引数Rectと同じ
・それぞれの幅→(Sender as TListView).Columns[(カラムのインデックス)].Width
これらから各領域が求められます.
なお選ばれている項目の強調表示やフォーカス(点線枠)の表示も自分で描画しなければなりません.イベントハンドラの引数Stateを参照して,選択されていたりフォーカスがあることがわかるように描画してください.
■ このスレッドは過去ログ倉庫に格納されています