Einzelnen Beitrag anzeigen

SneakyBagels
(Gast)

n/a Beiträge
 
#4

AW: Große Probleme mit VirtualStringTree

  Alt 17. Jun 2017, 10:32
Zitat:
Ich schreibe das mal separat, damit du eine Benachrichtigung siehst:
Weiß nicht, welche Benachrichtigung.

Ich bin mittlerweile so weit:

Items zur besseren Übersicht farblich gestalten (jedes zweite):
Delphi-Quellcode:
procedure TForm2.VSTAfterItemErase(Sender: TBaseVirtualTree; TargetCanvas: TCanvas; Node: PVirtualNode; ItemRect: TRect);
begin
 if Odd(Node.Index) then
  TargetCanvas.Brush.Color := $00E1F3FF;

 TargetCanvas.FillRect(ItemRect);
end;
Im OnGetText u.a.:
Delphi-Quellcode:
procedure TForm2.VSTGetText(Sender: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType; var CellText: string);
var
 Data: PVSTData;
begin
 Data := VST.GetNodeData(Node);

 if Node.Index = 2 then
  Node.NodeHeight := 35; // <= funktioniert sogar ohne toVariableNodeHeight
....
end;
Text selber zeichnen:
Delphi-Quellcode:
procedure TForm2.VSTDrawText(Sender: TBaseVirtualTree; TargetCanvas: TCanvas; Node: PVirtualNode; Column: TColumnIndex; const Text: string; const CellRect: TRect;
 var DefaultDraw: Boolean);
begin
 DefaultDraw := False;
 TargetCanvas.TextOut(CellRect.Left, CellRect.Top + 2, Text);

 if Node.Index = 2 then
  begin
   TargetCanvas.TextOut(CellRect.Left, CellRect.Top + 16, '123'); // Funktioniert. Wird aber erst sichtbar, wenn ich mit der Maus über das VST fahre
  end;
end;
Ist das bisher eine absolute 0815-Lösung oder ist das OK so?

Geändert von SneakyBagels (17. Jun 2017 um 10:35 Uhr)
  Mit Zitat antworten Zitat