我需要只添加2px :)到列表視圖中行的高度(自定義繪製的進度條現在太窄了)。如何在報告樣式中增加列表視圖的行高?
有兩個很好的答案Change Listview item heighthttp://www.delphipages.com/forum/showthread.php?t=49939,但我做不到。
我知道這是可能的圖像列表的事,但我已經16×16的圖像:)
任何人可以幫助我嗎? 我會感激。
我需要只添加2px :)到列表視圖中行的高度(自定義繪製的進度條現在太窄了)。如何在報告樣式中增加列表視圖的行高?
有兩個很好的答案Change Listview item heighthttp://www.delphipages.com/forum/showthread.php?t=49939,但我做不到。
我知道這是可能的圖像列表的事,但我已經16×16的圖像:)
任何人可以幫助我嗎? 我會感激。
響應的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,此消息將只發送。
沒有編寫任何代碼的快速和骯髒的替代方法是添加一個TImageList,將其寬度設置爲1,並將其高度設置爲任何想要的行高度,然後將其分配給列表視圖的SmallImages。
哇!謝謝!!!我看到了TMS'TAdvListView的源代碼,並且這個消息'CNDrawItem(var Message:TWMDrawItem)'也被處理(鏈接分隔符與TMS中的代碼相同)。爲什麼? – maxfax
Dunno TAdvListView。默認的TListView已經有了OnDrawItem事件。 – NGLN
id不重要:)它的作品!你是一名優秀的程序員和一個人!謝謝! – maxfax