Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi VirtualStringTree: 2 unterschiedliche Imagelisten? (https://www.delphipraxis.net/120353-virtualstringtree-2-unterschiedliche-imagelisten.html)

MCXSC 9. Sep 2008 21:33


VirtualStringTree: 2 unterschiedliche Imagelisten?
 
Hallo,

ich habe ein kleines Problem: Ich habe eine VirtualStringTree-Komponente auf meiner Form. Ebenso habe ich zwei ImageListen mit unterschiedlichen Höhen und Breiten.

Ist es möglich, beide in die VirtualStringTree einzubinden und in den entsprechenden Zellen einzublenden? Mit einer StringList klappt es, aber wie mit zwei?

MCXSC

toms 9. Sep 2008 21:38

Re: VirtualStringTree: 2 unterschiedliche Imagelisten?
 
Hallo, im OnTreeGetImageIndexEx Ereignis kannst du dem Parameter ImageList eine ImageList zuweisen,
je nach Bedingung auch unterschiedliche Imagelisten.

MCXSC 10. Jan 2009 15:18

Re: VirtualStringTree: 2 unterschiedliche Imagelisten?
 
Ich greife das Thema nochmals auf.

Ich habe die funktion "GetImageIndexEx" dort habe ich z.B. folgendes:

Delphi-Quellcode:
procedure TMainFrm.VSTListeGetImageIndexEx(Sender: TBaseVirtualTree;
  Node: PVirtualNode; Kind: TVTImageKind; Column: TColumnIndex;
  var Ghosted: Boolean; var ImageIndex: Integer;
  var ImageList: TCustomImageList);
var
  Data: PTreeData;
begin
  Data := VSTListe.GetNodeData(Node);
  case Column of
    7: begin
      ImageList := Icons1;
      if Data.fMyData1= '-1' then ImageIndex := 11
      else ImageIndex := StrToInt(Data.fMyData1);
    end;
    8: begin
      ImageList := Icons2;
      if Data.fMyData2 = '-1' then ImageIndex := 23
      else ImageIndex := StrToInt(Data.fMyData2);
    end;
  end;
end;
Da lädt er aber keine Bilder. Erst, wenn ich mit "VSTListe.Images := Icons1" eine ImageList zuweise. Und dann habe ich das Problem, dass immer die Maße von der im ObjectInspektor eingetragenen ImageList genommen werden.

stOrM 10. Jan 2009 19:07

Re: VirtualStringTree: 2 unterschiedliche Imagelisten?
 
Hi,
versuchs ma so: Im AfterCellPaint

Delphi-Quellcode:
  ProgramPNG.Draw(TargetCanvas, Rect(0, 0, ProgramPNG.Width, ProgramPNG.Height));
ProgramPNG ist eine PNGImageList sollte aber auch mir der Standart gehen...

Gruß
s!


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:02 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