ViewStyle := vsIcon;当选中一个Item时,文字会变成黑块。
procedure TForm1.ListView1AdvancedCustomDrawItem(Sender: TCustomListView; Item: TListItem;
State: TCustomDrawState; Stage: TCustomDrawStage; var DefaultDraw: Boolean);
var
images: TImageList;
iconRect: TRect;
x, y: Integer;
begin
if Stage = cdPostPaint then
begin
images := TListView(Sender).LargeImages;
ListView_GetItemRect(Sender.Handle, Item.Index, iconRect, LVIR_ICON);
x := iconRect.Left + (RectWidth(iconRect) - images.Width) div 2;
y := iconRect.Top + (RectHeight(iconRect) - images.Height) div 2;
images.Draw(Sender.Canvas, x, y, Item.Index);
end;
end;
procedure TForm1.ListView1AdvancedCustomDrawItem(Sender: TCustomListView; Item: TListItem;
State: TCustomDrawState; Stage: TCustomDrawStage; var DefaultDraw: Boolean);
var
images: TImageList;
iconRect: TRect;
x, y: Integer;
begin
if Stage = cdPostPaint then
begin
images := TListView(Sender).LargeImages;
ListView_GetItemRect(Sender.Handle, Item.Index, iconRect, LVIR_ICON);
x := iconRect.Left + (RectWidth(iconRect) - images.Width) div 2;
y := iconRect.Top + (RectHeight(iconRect) - images.Height) div 2;
images.Draw(Sender.Canvas, x, y, Item.Index);
end;
end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货