![]() |
Re: VirtualStringTree und OnLoadNode
Liste der Anhänge anzeigen (Anzahl: 1)
So bin gerade nach Hause gekommen und habe versucht Deine Änderungsvorschläge einzubauen, jedoch funktioniert das mit dem kleinen Beispielprojekt überhaupt nicht. Es wird nach wie vor nur 'Node' angezeigt.
Ich habs mal wieder angehängt. |
Re: VirtualStringTree und OnLoadNode
Zitat:
Mittels "OnGetText" musst Du den Text setzen. In dem Event steuerst Du, welche Information in welcher "Column" angezeigt werden soll. Beispiel:
Delphi-Quellcode:
Gruß Igotcha
procedure TKOM.VTISTGetText(Sender: TBaseVirtualTree;
Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType; var CellText: WideString); var myData: PIstData; begin myData:=VTIST.GetNodeData(Node); Node.Align:=3; if (TextType=ttNormal) AND (myData.FGTyp<>6) then begin case Column of 0: Celltext:=myData.FGBez; 1: Celltext:=format('%.0n', [myData.FMonat[0]]); 2: Celltext:=format('%.0n', [myData.FMonat[1]]); 3: Celltext:=format('%.0n', [myData.FMonat[2]]); 4: Celltext:=format('%.0n', [myData.FMonat[3]]); 5: Celltext:=format('%.0n', [myData.FMonat[4]]); 6: Celltext:=format('%.0n', [myData.FMonat[5]]); 7: Celltext:=format('%.0n', [myData.FMonat[6]]); 8: Celltext:=format('%.0n', [myData.FMonat[7]]); 9: Celltext:=format('%.0n', [myData.FMonat[8]]); 10: Celltext:=format('%.0n', [myData.FMonat[9]]); 11: Celltext:=format('%.0n', [myData.FMonat[10]]); 12: Celltext:=format('%.0n', [myData.FMonat[11]]); 13: Celltext:=format('%.0n', [myData.FMonat[12]]); 14: Celltext:=format('%.0n', [myData.FMonat[13]]); 15: Celltext:=format('%.0n', [myData.FMonat[14]]); 16: Celltext:=format('%.0n', [myData.FMonat[15]]); 17: Celltext:=format('%.0n', [myData.FMonat[16]]); 18: Celltext:=format('%.0n', [myData.FMonat[17]]); end; end; |
Re: VirtualStringTree und OnLoadNode
Zitat:
Wenn Du das angehängte Zip File angeschaut hättest, hättest Du sicher auch bemerkt, dass dies _nicht_ die Lösung für mein Problem ist, bzw. das Problem an anderer Stelle zu suchen ist. |
Re: VirtualStringTree und OnLoadNode
Hallo Günter,
in deinem Demo-Projekt fragst du im Ereignis OnGetText() auf Column = 0 ab. Das funktioniert nur, wenn du auch in vst.header.columns Spalten eingetragen hast. Ansonsten ist der Parameter Column von OnGetTExt() immer -1 und kann ignoriert werden. marabu |
Re: VirtualStringTree und OnLoadNode
Ups, danke für den Hinweis, hab ich jetzt ganz übersehen. Im nicht Demo Projekt habe ich eine Column definiert, da hat die Abfrage auf column=0 funktioniert.
Bin gespannt obs funktioniert heute abend :), scheint aber eine sehr plausible Erklärung dafür zu sein, warum es vorher nicht geklappt hat. :) |
Re: VirtualStringTree und OnLoadNode
wie wärs mit:
Code:
procedure TKOM.VTISTGetText(Sender: TBaseVirtualTree;
Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType; var CellText: WideString); var myData: PIstData; begin myData := VTIST.GetNodeData(Node); Node.Align := 3; if (TextType = ttNormal) and (myData.FGTyp <> 6) then begin if Column = 0 then Celltext := myData.FGBez else Celltext := format('%.0n', [myData.FMonat[Column-1]]); end; |
Re: VirtualStringTree und OnLoadNode
Zitat:
Code:
procedure TKOM.VTISTGetText(Sender: TBaseVirtualTree;
Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType; var CellText: WideString); var myData: PIstData; begin myData := VTIST.GetNodeData(Node); Node.Align := 3; if (TextType = ttNormal) and (myData.FGTyp <> 6) then begin case column of 0: Celltext := myData.FGBez; else Celltext := format('%.0n', [myData.FMonat[Column-1]]); end; end; end; |
Re: VirtualStringTree und OnLoadNode
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Zeitweise kann ich meine Nodes nicht auswählen mit der Maus und mit Tastatatur zeichnet er sich irgendwie sehr komisch. Ich hab mal das ganze Projekt angehängt. |
Re: VirtualStringTree und OnLoadNode
Hallo Günter,
im Ereignis OnEdited() des VST solltest du folgende Zeile einfügen:
Delphi-Quellcode:
Sag mal, was ich machen muss um das unerwünschte Verhalten zu beobachten.
Sender.InvalidateNode(Node);
marabu |
Re: VirtualStringTree und OnLoadNode
An und für sich habe ich nur ein paar Kategorien und Notizen hinzugefügt und konnte mit der Maus nicht alle auswählen. Mit der Tastatur hab ich dann allerdings die Darstellung des Baumes ruiniert. Die Notizen sind zu Kategorien worden und umgekehrt.
Nachdem ich aber mal die Datei in welche ich das Speicher gelöscht habe, konnte ich es auch nicht mehr reproduzieren, vielleicht hatte ich in dieser Datei noch einen Knopf. Ich danke Dir schon mal für Deine vielen Mühen, mit meinen Problemen. :thumb: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:41 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