2011-07-02 10 views
4
のスイッチバンド

enter image description hereデルファイ:クールバー

ツリービュー(紫色矩形)内のアイテムのうち、切り替えながらクールバー(赤い長方形)のボタン(バンド)を変更するための効率的な方法は何ですか。私は、リストビュー内のすべての項目に対して1組のボタンを使用したいと考えています。

ありがとうございました!

答えて

4

私が必要とするCoolBandsを作成し、それを使用するTTreeNodeのデータポインタにそれぞれ割り当てます。次に、TreeViewのOnChangingハンドラで、現在選択されているTreeNodeを覚えていて、OnChangeハンドラのCoolBandsの可視性を切り替えます。

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; 
+0

いいアイデア! OnChangingも視認性の切り替えに使用できますが、OnChangeはより良い場所になるかもしれません。代替的に、「データ」はポインタの代わりにインデックスであってもよい。 –

+0

+1。エレガント。   –

+0

実際、自分でクールなバンドを使ったことはありません。私はDelphi 7の時代にそれらと一緒におもちゃをしましたが、それらがバグであることがわかりました。以来、私は普通のツールバーには完全に満足しています。私は再考すべきだと思いますか? –