2011-08-15 34 views

回答

13

響應的CN_MEASUREITEM控制通知消息,具體如下:

type 
    TListView = class(ComCtrls.TListView) 
    private 
    procedure CNMeasureItem(var Message: TWMMeasureItem); message CN_MEASUREITEM; 
    end; 

    TForm1 = class(TForm) 
    ... 

procedure TListView.CNMeasureItem(var Message: TWMMeasureItem); 
begin 
    inherited; 
    Inc(Message.MeasureItemStruct.itemHeight, 2); 
end; 

注:如果OwnerDraw屬性爲true,此消息將只發送。

+0

哇!謝謝!!!我看到了TMS'TAdvListView的源代碼,並且這個消息'CNDrawItem(var Message:TWMDrawItem)'也被處理(鏈接分隔符與TMS中的代碼相同)。爲什麼? – maxfax

+0

Dunno TAdvListView。默認的TListView已經有了OnDrawItem事件。 – NGLN

+0

id不重要:)它的作品!你是一名優秀的程序員和一個人!謝謝! – maxfax

2

沒有編寫任何代碼的快速和骯髒的替代方法是添加一個TImageList,將其寬度設置爲1,並將其高度設置爲任何想要的行高度,然後將其分配給列表視圖的SmallImages。

相關問題