![]() |
VST als Listview - Spalte nur mit Bild
Hi,
ich benutze einen VST als Listview. In die erste Spalte soll nur ein Icon rein, die Spalte hat eine feste Breite (kann auch nicht geändert werden). Nun habe ich allerdings das Problem, dass das Bild nicht zentriert in der Spalte ist, sondern im rechten Drittel gezeichnet wird. Column.Alignment hat leider auch keinen Einfluss auf die Bildposition. Hat jemand noch eine Idee? Viele Grüße, deadcantdance |
Re: VST als Listview - Spalte nur mit Bild
Wie stellst du das Bild dar? Maße des Bildes passen auch mit der ImageList zusammen?
|
Re: VST als Listview - Spalte nur mit Bild
Im Zweifelsfall mit den Paint Ereignissen selbst malen. Die ImageList hat dazu auch paar nette Funktionen.
|
Re: VST als Listview - Spalte nur mit Bild
Die Bilder kommen aus der ImageList, ich weise dem Knoten einfach nur einem Image-Index zu.
|
Re: VST als Listview - Spalte nur mit Bild
In OnGetImageIndex? Wie schonmal gefragt: Maße der ImageList (Width und Height) passen mit den Bildern zusammen?
|
Re: VST als Listview - Spalte nur mit Bild
Richtig, genau dort wird der Index zugewiesen. Maße stimmen überein (16x16).
|
Re: VST als Listview - Spalte nur mit Bild
Ich hab sowas mal mit OnAfterCellPaint gemacht:
Delphi-Quellcode:
HTH,
procedure TForm1.VTAfterCellPaint(
Sender: TBaseVirtualTree; TargetCanvas: TCanvas; Node: PVirtualNode; Column: TColumnIndex; CellRect: TRect); begin if Column = cImageColumn then begin if Node = VT.HotNode then begin TargetCanvas.Brush.Color := clBtnFace; TargetCanvas.Font.Color := clBtnText; DrawEdge(TargetCanvas.Handle, CellRect, BDR_RAISEDINNER, BF_RECT or BF_MIDDLE); end; ImageList.Draw(TargetCanvas, CellRect.Left + 2, CellRect.Top + 2, 0); end; end; Uli |
Re: VST als Listview - Spalte nur mit Bild
Danke, das funktioniert hervorragend!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:37 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