Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#7

Re: Ein Control per Procedure selektieren

  Alt 4. Dez 2005, 20:20
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
  Mit Zitat antworten Zitat