Hallo Tom,
mein Beispiel war auf Nachfahren von TWinControl ausgerichtet - kein Wunder, wenn es bei dir nicht funktioniert. Ich weiß zwar nicht wie du die Hervorhebung von Image und Label machen willst, wenn der entsprechende Knoten in der TreeView selektiert wird, aber ich habe mir ein Test-Szenario aufgebaut, bei dem jedes Control auf einem Panel liegt. Beim Selektieren des entsprechenden Knotens schalte ich die Farbe des Panels um und mein Image bzw. Label (ParentColor = False) erhält eine rötliche Aura:
Delphi-Quellcode:
procedure TDemoForm.FormCreate(Sender: TObject);
var
node: TTreeNode;
begin
node := TreeView.Items.AddChildObject(nil, 'DemoLabel', DemoLabelPanel);
TreeView.Items.AddChildObject(node, 'DemoImage', DemoImagePanel);
end;
procedure TDemoForm.TreeViewChanging(Sender: TObject; Node: TTreeNode;
var AllowChange: Boolean);
begin
if Assigned(TreeView.Selected) then
TPanel(TreeView.Selected.Data).Color := clBtnFace;
end;
procedure TDemoForm.TreeViewChange(Sender: TObject; Node: TTreeNode);
begin
if Assigned(Node) then
TPanel(Node.Data).Color := clRed;
end;
Grüße vom marabu