• ベストアンサー

C++Builder 6でツリービュー(初心者)

C++Builder 6のツリービューで、任意の位置に ノードを挿入するにはどうすれば良いのでしょうか? indexを使って任意の位置の削除はできるのですが、・・・ どなたかお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • KoHal
  • ベストアンサー率60% (110/181)
回答No.1

たとえば、TreeView1の選択されたノードの位置に新しくノードを追加するなら TreeView1->Items->Insert(  TreeView1->Selected, "新しいノード" ); 挿入する位置は、そこにあるノードへのポインタ(TTreeNode*)で指定します。 indexで指定したいなら int index = 0; //任意の数 TreeView1->Items->Insert(  TreeView1->Items->Item[index], "新しいノード" ); ただし、ヘルプには「indexでアクセスすると処理が重いから気をつけろ」と断り書きがあります。 追加する方法(先頭、末尾、子ノード等)に応じたメソッドが各種用意されてますので、あとはヘルプでTTreeNodesの項をご覧ください。

yama888
質問者

お礼

ありがとうございます! なんとかできそうです。

関連するQ&A

  • C# ツリービューの使い方

    現在、Microsoft Visual C# 2008 Express Editionでプログラムを作成しているのですが、ツリービューの使い方がよくわかりません。 具体的には、ツリービューとリストビューを左右に並べて、ツリービューのノードをクリックしたときに、その子ノードをリストビューに表示したいと考えています。 そこで、 ツリービューのNodeMouseClickイベントで foreach ( TreeNode child in this.treeView1.SelectedNode.ChildNodes ) { //リストにノードを表示する } と記述したのですが、 「'System.Windows.Forms.TreeNode' に 'ChildNodes' の定義が含まれておらず、型 'System.Windows.Forms.TreeNode' の最初の引数を受け付ける拡張メソッドが見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。」 というエラーが発生しました。 これを解決するにはどうすればいいのでしょうか?また、私が実装しようと考えている機能を、ツリービューとリストビューを併用した方法以外でより効率的にかけたりしますか? C#に詳しい人、回答よろしくお願いします。

  • C#のツリービューでツリーノードとデータの関連付け

    こんにちは。 C#でツリービューの操作をしています。 すでに階層構造を持つデータがあります。これをツリービューに表示させようとしています。 TreeNode treeNodeFruits = new TreeNode("果物"); としてツリービューに追加してあげると普通に表示できますが、このままだと独自データと関連付けがされていないため、ノードをクリックした際に何もできません。 C++ではHTREEITEMのlParamにユーザーデータのポインタをセットできますが、C#ではツリーノードに関連付けできそうな項目が見当たりません。 C#ではツリーノードと独自に持つデータとの関連付けをどのようにすればよろしいのでしょうか?

  • ツリーでのアイコンの設定

    C++Builder でツリービューを使ってるのですが、 各ノードにアイコンの設定ができません。 私がしたいのは、・・・ 1、クリックした時のアイコンを違うものにしたい。 2、好きなアイコンを選べるようにした。 以上です。 どなたか、よろしくお願いします。

  • VB6.0ツリービューについて

    現在、VB6.0で開発をしております。 その中で、ツリービューを使用しています。 で、ツリービューのノードを設定してある状態で、ユーザがクリックしてノードのひとつを選択するのではなく、プログラムからあるひとつのノードを選択状態にするにはどうすればよいでしょうか? ご教授いただけますでしょうか。よろしくお願いします。

  • ツリービューを閉じさせたくない。

    いつもお世話になっております。 現在、WIN2000(sp4) SQLServer2000(sp3) で開発をしています。 ツリービューそのものの理解不足かもしれませんが、もしご存知でしたら教えて下さい。 ツリービューでルートのノードを軽く2回クリックすると、エクスプローラーを閉じる時のように、ツリーが閉じますが、これを閉じないようにする方法はないでしょうか? 宜しくお願い致します。

  • C++Builder6にソースツリーを取り込む

     C++Builder6でmozillaのソースツリーをビルドしようとしてますが、外部のソースツリーをプロジェクトに取り込む方法が分かりません。  よろしくお願いします。

  • ツリービューで、画像管理したいのですが・・・・

    ツリービューで、画像や、テキストをを管理したいのですが、 ツリービューのノードに画像や、テキストを入れることが出来るのでしょうか? ツリービューのノードをクリックして選択した場合、 ピクチャーボックスやテキストボックスに、画像やテキストを表示したいのですが、 どうすればいいのか教えて下さい・・・お願いします。

  • ツリービューのノードを閉じた時のイベント

    VB6でツリービューを利用したプログラムを組んでいます。ツリービューのイベント処理において、ツリービューのノードを展開した時には、Expandイベントで取得することが可能だと思うのですが、ノードを閉じたときのイベントは、取得することができるのでしょうか?

  • ツリービューについて

    いつも参考にしています。 今回初めてVBで開発することになりました。 ツリービューの部分で詰ってしまいました。 【内容1】 2階層のツリーで下位階層(子)が選択されているときだけ実行したい処理があります。 現在選択しているノードが上位階層(親)か下位階層(子)か判断できるような関数などあるのでしょうか? 【内容2】 現在、画面上のツリービュー表示項目をダブルクリックすると値を更新できてしまうのですが、更新不可にできないでしょうか? どちらも初歩的なことなのかも知れませんが、検索しても分からなかったんです。 どうぞアドバイスお願いします。 VBは6.0です。

  • Visual Basicでツリービューリストの項目数を増やすには?

    VB4でツリービューコントロールを使ってリストを作成するとある程度以上のノード数になるとindex errorになります。 正確には数えていませんが、感覚的に200行ぐらいです。 この制限を外す方法はありませんか? よろしくお願いします。

専門家に質問してみよう