2
在vsIcon模式用Delphi XE3,列表視圖與分配的圖像列表。德爾福,ListView控件,如何去除項目之間的利潤率vsIcon
我添加了一些項目,併爲其分配圖像索引,並且在每個圖像/件之間的一個非常大的間距/保證金,我怎樣才能改變這種狀況?如果沒有自定義繪圖,它可能嗎?
在vsIcon模式用Delphi XE3,列表視圖與分配的圖像列表。德爾福,ListView控件,如何去除項目之間的利潤率vsIcon
我添加了一些項目,併爲其分配圖像索引,並且在每個圖像/件之間的一個非常大的間距/保證金,我怎樣才能改變這種狀況?如果沒有自定義繪圖,它可能嗎?
您可以使用ListView_SetIconSpacing
宏
uses commctrl;
..
ListView_SetIconSpacing(ListView1.Handle, 36, 36);
ListView1.Arrange(arAlignTop); // refresh view
參考文檔,值必須包括圖標大小,否則圖標相互重疊。
您可以通過發送「-1」的CX和CY和返回值重置視圖是當前間隔,因此,例如,與一定量的下降空間,你可以這樣做:
var
Spacing: DWORD;
begin
Spacing := ListView_SetIconSpacing(ListView1.Handle, WORD(-1), WORD(-1));
ListView_SetIconSpacing(ListView1.Handle,
LoWord(Spacing) - 10, HiWord(Spacing) - 6);
ListView1.Arrange(arAlignTop);
+1,而我甚至不知道我們在Delphi :-D有宏觀的... –
@Marjan,那麼這是在commctrl.pas一個襯墊。 :) AFAIK我們有許多/最常用的宏,比如RGB()。謝謝。 –
謝謝。唯一的問題是,選擇邊界是否與下一個圖標重疊,我想唯一的解決方法是定製繪圖? http://i.imgur.com/2nZvk.png – hikari