我使用OwnerDraw
繪製列表視圖。我需要畫第一列。但我不明白如何。Delphi:列表視圖的顏色列
我想:
procedure TFrame6.DownloadListCustomDraw(Sender: TCustomListView;
const ARect: TRect; var DefaultDraw: Boolean);
var
R: TRect;
begin
DefaultDraw := False;
Sender.Canvas.Brush.Color := $F7F7F7;
Sender.Canvas.Brush.Style := bsSolid;
R := ARect;
R.Right := ListView_GetColumnWidth(DownloadList.Handle, DownloadList.Columns[0].Index);
Sender.Canvas.FillRect(R);
DefaultDraw := True;
end;
但我籠絡項目。如何正確繪製,項目和背景?
謝謝!
我建議你閱讀[這個delphiDabbler文章](http://www.delphidabbler.com/articles?article=16),並希望它包含足夠的信息來解決您的問題。我發表評論而不是回答,因爲它在1分鐘內被Google搜索到了。 – ThinkJet
謝謝!我讀過。 「Delphi的TListView的OnCustomDrawXXX事件處理程序可以對列表視圖控件的外觀進行微小的更改,它們可以讓開發人員避免如果只想對其外觀進行一些調整,那麼開發人員就不必讓所有者去繪製控件。我使用OwnerDraw。 – maxfax
請滾動整個頁面查找示例。我認爲你可以找到滿足你需求的人。例如。 [示例1](http://www.delphidabbler.com/articles?article=16&part=1#eg1)顯示如何更改背景和[示例4](http://www.delphidabbler.com/articles?article= 16&part = 1#eg4)顯示可以更改項目外觀的點。 – ThinkJet