![]() |
VirtualStringTree: Problem mit ImageIndex
Moin Leute,
ich habe ein seltsames Problem mit meinem VirtualStringTree. Ich habe eine ImageList mit 9 verschiedenen Icons, und diese ImageList ist dem VirtualStringTree bei der Eigenschaft Images zugewiesen. Wenn ich jetzt in der Funktion
Code:
den ImageIndex auf 8 setze, müsste jeder Node das Bild vom 9ten Icon in der ImageList bekommen. Tut es aber nicht. Icons mit dem Index 0 - 4 werden richtig dargestellt, alles was über Index 4 is, wird als Icon #0 dargestellt. Falls nich nachvollziehbar, stell ich das gesamte Projekt hier mal auf Anfrage als Download bereit.
procedure TFormMain.VST1GetImageIndex(Sender: TBaseVirtualTree;
Node: PVirtualNode; Kind: TVTImageKind; Column: TColumnIndex; var Ghosted: Boolean; var ImageIndex: Integer); begin ImageIndex := 8; end; Vielen Dank für eure (hoffentlich) kommenden Antworten :) mfg phXql |
Re: VirtualStringTree: Problem mit ImageIndex
Sowas hatte ich auch schonmal. Das 5. Image wurde vom 0. überlagert.
Habe dann die Images nicht als "normale" sondern als "StateImages" zugewiesen. Seitdem gehts. :gruebel: |
Re: VirtualStringTree: Problem mit ImageIndex
Zitat:
|
Re: VirtualStringTree: Problem mit ImageIndex
Zitat:
|
Re: VirtualStringTree: Problem mit ImageIndex
okay, ich hab die Lösung des Problems gefunden. die ersten 4 icons kann man als overlay-icons benutzen. um das zu verhindern bei der GetImageIndex auf den Parameter Kind prüfen, wenn dieser NICHT ikNormal oder ikSelected ist, dann einfach den ImageIndex auf -1 setzen. sonst den "normalen" image-index zurückgeben. Dann gehts auch.
Mir aber nicht verständlich, warum das in KEINEM tutorial auftaucht... |
Re: VirtualStringTree: Problem mit ImageIndex
Also bei mir geht es...
Sag mal, hast du ne "normale" TImageList genommen? Ich hab nämlich TJvImageList von JEDI. Zweitens, hast du ne TreeView- oder Grid-Darstellung? Ich hatte das Prob bei der TreeView-Darstellung Kannst ja mal das Projekt posten. Hier mal mein Code:
Delphi-Quellcode:
[edit]
procedure TFMain.VSTLibraryGetImageIndex(Sender: TBaseVirtualTree;
Node: PVirtualNode; Kind: TVTImageKind; Column: TColumnIndex; var Ghosted: Boolean; var ImageIndex: Integer); var QueryRec: PQueryRec; begin if Column = 12 then begin QueryRec := Sender.GetNodeData(Node); ImageIndex := -1; case QueryRec.ABitRate of 0..47: ImageIndex := 0; // >48 48..52: ImageIndex := 1; // 48 53..60: ImageIndex := 2; // 56 61..70: ImageIndex := 3; // 64 71..100: ImageIndex := 4; // 96 101..116: ImageIndex := 5; // 112 117..140: ImageIndex := 6; // 128 141..180: ImageIndex := 7; // 160 181..216: ImageIndex := 8; // 192 217..240: ImageIndex := 9; // 224 241..280: ImageIndex := 10; // 256 281..320: ImageIndex := 11; // 320 else ImageIndex := 12; end; end; end; Verdammt zu spät :wall: [/edit] |
Re: VirtualStringTree: Problem mit ImageIndex
Zitat:
Delphi-Quellcode:
procedure TBookmarkForm.BookmarkTreeGetImageIndex(Sender: TBaseVirtualTree;
Node: PVirtualNode; Kind: TVTImageKind; Column: Integer; var Index: Integer); var NodeData: ^rTreeData; begin NodeData := Sender.GetNodeData(Node); case Kind of ikState: // for the case the state icon has been requested Index := -1; ikNormal, ikSelected: // normal or the selected icon is required Index := NodeData.ImageIndex; end; end; |
Re: VirtualStringTree: Problem mit ImageIndex
Zitat:
|
Re: VirtualStringTree: Problem mit ImageIndex
Zitat:
Ich habe jetzt ein neues Tutorial geschrieben. Teil 1 ist fertig und Teil 2 in Arbeit. Zu finden auf meiner HP: ![]() Im Teil 2 beschreibe ich diesen Sachverhalt genau. mfg Wolfgang |
Re: VirtualStringTree: Problem mit ImageIndex
Der Beitrag ist von 2004.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:38 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