TTreeViewItem の移動方法

解決


kim99  2012-04-09 12:16:53  No: 41890

Delphi XE2 の FireMonkey でTTreeView の node である TreeViewItemの移動方法を教えてください。 VCLの TTreeView の node の TTreeNode は MoveTo()とか items.insert(); が使えたのですが、、、、TreeViewItems の方は AddObject()は使えるのですが、 InsertObject() が実行時にエラーを起こすし、 TreeViewItems.itemは TList みたいなので、 TreeViewItems.Exchange() を試しましたが実行時エラーになるもので、、、


KHE00221  2012-04-11 10:50:44  No: 41891

TreeViewItem4.AddObject(TreeViewItem1);

で TreeViewItem1 が TreeViewItem4 の子になる


kim99  2012-04-12 21:10:21  No: 41892

回答ありがとうございます。
TreeView1 で  AddObject(); RemoveObject(); 
が使えることは確認できてます。ので、
最後のNode(TreeViewItem)の下にNodeを追加することはできるのですが、
InsertObject() が実行時にエラーを起こすので、、
最初の子供のNode(TreeViewItem)の上にNodeを追加する
2番目と3番目の Nodeを交換する方法がわかりません。

TTreeViewより簡単と思われる TListBox では Exchange() 
が使えたのですが、、、
同様なことをTTreeView/TTreeViewItemで試していますが、いい結果がでていません。


KHE00221  2012-04-13 09:26:13  No: 41893

TreeViewItem1.AddObject(TreeViewItem4);
TreeViewItem4.Index := TreeViewItem1.Count - 1; // 99 とかでも良い


kim99  2012-04-15 03:09:33  No: 41894

ありがとうございます。
TreeViewItem を上下に移動させることができました。
TreeViewItem1.Index に値を設定できるとは、思いつきませんでした。
VCL に比べて FireMonkey は .NET や SilverLight,  XAML などを意識しているならそっちの方法を
まねしようかとかとは思いましたが、、、、.NET SilverLight XAML などなどにうといもので、、、


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加