AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

VST als Listview - Spalte nur mit Bild

Ein Thema von deadcantdance · begonnen am 3. Feb 2009 · letzter Beitrag vom 3. Feb 2009
Antwort Antwort
deadcantdance

Registriert seit: 25. Feb 2008
81 Beiträge
 
Delphi 2007 Professional
 
#1

VST als Listview - Spalte nur mit Bild

  Alt 3. Feb 2009, 11:07
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
  Mit Zitat antworten Zitat
nuclearping

Registriert seit: 7. Jun 2008
708 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

Re: VST als Listview - Spalte nur mit Bild

  Alt 3. Feb 2009, 11:13
Wie stellst du das Bild dar? Maße des Bildes passen auch mit der ImageList zusammen?
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.415 Beiträge
 
Delphi XE5 Professional
 
#3

Re: VST als Listview - Spalte nur mit Bild

  Alt 3. Feb 2009, 11:55
Im Zweifelsfall mit den Paint Ereignissen selbst malen. Die ImageList hat dazu auch paar nette Funktionen.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
deadcantdance

Registriert seit: 25. Feb 2008
81 Beiträge
 
Delphi 2007 Professional
 
#4

Re: VST als Listview - Spalte nur mit Bild

  Alt 3. Feb 2009, 12:00
Die Bilder kommen aus der ImageList, ich weise dem Knoten einfach nur einem Image-Index zu.
  Mit Zitat antworten Zitat
nuclearping

Registriert seit: 7. Jun 2008
708 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

Re: VST als Listview - Spalte nur mit Bild

  Alt 3. Feb 2009, 12:02
In OnGetImageIndex? Wie schonmal gefragt: Maße der ImageList (Width und Height) passen mit den Bildern zusammen?
  Mit Zitat antworten Zitat
deadcantdance

Registriert seit: 25. Feb 2008
81 Beiträge
 
Delphi 2007 Professional
 
#6

Re: VST als Listview - Spalte nur mit Bild

  Alt 3. Feb 2009, 12:05
Richtig, genau dort wird der Index zugewiesen. Maße stimmen überein (16x16).
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.735 Beiträge
 
Delphi 2007 Professional
 
#7

Re: VST als Listview - Spalte nur mit Bild

  Alt 3. Feb 2009, 13:22
Ich hab sowas mal mit OnAfterCellPaint gemacht:
Delphi-Quellcode:
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;
HTH,
Uli
Uli Gerhardt
  Mit Zitat antworten Zitat
deadcantdance

Registriert seit: 25. Feb 2008
81 Beiträge
 
Delphi 2007 Professional
 
#8

Re: VST als Listview - Spalte nur mit Bild

  Alt 3. Feb 2009, 14:45
Danke, das funktioniert hervorragend!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz