Hallo ,
meine strucktur ist ja nur
node
+'irgendwas'
---- 'irgendeine nummer'
+'irgendwas2'
---- 'irgendeine nummer2'
+'irgendwas3'
---- 'irgendeine nummer3'
so wenn nun jetzt
Delphi-Quellcode:
n := virtualstringtree1.GetFirst;
while assigned(n) do
begin
if assigned(n) then
begin
data:=virtualstringtree1.GetNodeData(n);
if data^.FColumn1='irgendeinenummer' then
begin
found:=1;
foundednode:=n;
virtualstringtree1.Refresh;
break;
end;
n:=virtualstringtree1.GetNext(n);
end;
if data^.FColumn1='irgendeinenummer' then stimmig ist, sprich er fragt ab ob das subnode die nummer hat die er bekommen hat(in der abfrage)
dann
Delphi-Quellcode:
procedure TForm1.VirtualStringTree1BeforeCellPaint(
Sender: TBaseVirtualTree; TargetCanvas: TCanvas; Node: PVirtualNode;
Column: TColumnIndex; CellRect: TRect);
var ContentRect: TRect;
var d:ptreedata;
begin
with TargetCanvas do
begin
d:=virtualstringtree1.GetNodeData(foundednode);
if found <>1 then exit;
if d.fColumn1='irgendeinenummer' then targetcanvas.Font.Color:=clred;
FillRect(CellRect);
end; // with
end;
sollte es doch funktionieren ? oder nicht. ich übergeb ihm ja mit d:=virtualstringtree1.GetNodeData(foundednode); die daten von der node die er unter foundednode:=n; gesaved hat.
hm ....