Ich zeichne derzeit einige Bilder innerhalb Tvirtualdrawtree
mit auf vor Farbe. Hier ist mein ZeichencodeWie zeichne Knoten Inline in TvirualTree?
procedure TForm2.VDTAniBeforeCellPaint(Sender: TBaseVirtualTree;
TargetCanvas: TCanvas; Node: PVirtualNode; Column: TColumnIndex;
CellPaintMode: TVTCellPaintMode; CellRect: TRect; var ContentRect: TRect);
var
Data: PAnimeData;
NewRect: TRect;
R: TRect;
begin
//
if not Assigned(Node) then
begin
exit;
end;
Data := VDTAni.GetNodeData(Node);
case Column of
0, 1 ,2, 3, 4, 5, 6, 7:
begin
TargetCanvas.Brush.Style := bsClear;
TargetCanvas.FillRect(CellRect);
NewRect := ContentRect;
NewRect.Left := NewRect.Left;
NewRect.Width := 55;
NewRect.Height := 55;
NewRect.Top := NewRect.Top + 2;
NewRect.Bottom := NewRect.Bottom;
if Column = 0 then
begin
with NewRect do
begin
TargetCanvas.StretchDraw(NewRect, Data.FObject.anmigraphic);
end;
end;
end;
Die Bilder gezeichnet wird vertikal kommt. Ich möchte, dass sie zum Beispiel horizontal zeigen, wie in diesem Bild folgende
Hier die Datenstruktur
type
TAnmiClass = class
private
Fanmigraphic : TGifImage;
public
property anmigraphic: TGifImage read Fanmigraphic write Fanmigraphic;
public
constructor Create;
destructor Destroy; override;
end;
type
PAnimeData = ^TAnimeData;
TAnimeData = record
FObject: TAnmiClass;
end;
In diese Steuerung ist nichts eingebaut, um dies zu ermöglichen. Früher gab es eine Bibliothek von Jim Küneman, Virtual Shell Tools, die einen virtuellen Explorer-Baum basierend auf der virtuellen Baumansicht bot und alle bekannten Icon-Layouts implementierte, die von herkömmlichen Listenansicht-Steuerelementen unterstützt wurden. Vielleicht finden Sie es hilfreich, wenn Sie es nicht mehr finden können. –
ich weiß, dass es nicht mit Tree View-Eigenschaft getan werden kann, deshalb habe ich 8 Spalten erstellt, um sie nebeneinander zu zeichnen, aber das Problem jeder Spalte ist mit dem gleichen Bild verdoppelt, bis es den zweiten Knoten –