Delphi: переключение диапазонов CoolBar - PullRequest
4 голосов
/ 02 июля 2011

enter image description here

Какой эффективный способ изменения кнопок (полос) в CoolBar (красный прямоугольник) при переключении между элементами в TreeView (фиолетовый прямоугольник).Я хочу использовать один набор кнопок для каждого элемента в списке.

Спасибо за помощь и советы!

1 Ответ

4 голосов
/ 02 июля 2011

Я бы создал CoolBands, которые мне нужны, и назначил бы каждый указателю Data TTreeNode, для которого он будет использоваться. Затем в обработчике OnChanging TreeView я «запомнил» TreeNode, который выбран в данный момент, и переключил бы видимость на CoolBands в обработчике OnChange:

procedure TProbeerForm.TreeView1Changing(Sender: TObject; Node: TTreeNode;
  var AllowChange: Boolean);
begin
  FOldNode := TreeView1.Selected;
end;

procedure TProbeerForm.TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
  TCoolBand(FOldNode.Data).Visible := False;
  TCoolBand(Node.Data).Visible := True;
end;
...