![]() |
16x16 Icon vor dem SubItem eines ListViews anzeigen
Hi,
wie kann ich ein 16x16px Icon vor einem SubItem eines ListViews anzeigen lassen? Florian |
Re: 16x16 Icon vor dem SubItem eines ListViews anzeigen
Hallo,
ein Ansatz wäre das hier:
Delphi-Quellcode:
Zu beachten ist eigentlich nur, dass es die ImageList1 gibt. Alles andere musst du mal ein bissel probieren. Ich glaube es gibt auch noch ein Problem, wenn man die Spaltenbreite ändert. Aber das Icon wird ersteinmal an die von dir gewünschte Stelle gemalt.
procedure TForm1.ListView1CustomDrawSubItem(Sender: TCustomListView;
Item: TListItem; SubItem: Integer; State: TCustomDrawState; var DefaultDraw: Boolean); var rTmp: TRect; bTmp: TBitmap; lv: TListView; i: Integer; w: Integer; begin DefaultDraw := False; lv := TListView(Sender); bTmp := TBitmap.Create; try ImageList1.GetBitmap(Item.SubItemImages[SubItem-1], bTmp); rTmp := Item.DisplayRect(drSelectBounds); w := lv.Columns[0].Width; for i := 1 to SubItem - 1 do w := w + lv.Columns[i].Width; lv.Canvas.Draw(w + 2, rTmp.Top, bTmp); lv.Canvas.TextOut(w + 2 + bTmp.Width + 2, rTmp.Top, Item.SubItems[SubItem-1]); finally FreeAndNil(bTmp); end; end; mfg Leonard |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz