tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルツリービュー ノードの修正
記事No14937
投稿日: 2010/09/24(Fri) 16:04
投稿者めぐっぺ
環境:VB6.0 SP6

いつもお世話になります。

===【現在、下記のような内容で悩んでおります】===
ツリービューのノードクリック時に、
別フォームが表示され、
別フォームにて、項目が選択されると
その項目にノードのKey及びTextを置き換えたい。
================================================
実現できずに困っています。

ノードの修正方法をご存知の方いらっしゃいましたら、
ご教授いただけませんでしょうか?

宜しくお願い致します。

[ツリー表示へ]
タイトルRe: ツリービュー ノードの修正
記事No14938
投稿日: 2010/09/25(Sat) 15:01
投稿者魔界の仮面弁士
> ===【現在、下記のような内容で悩んでおります】===
その中の、どの部分で悩んでいるのでしょうか?

> ツリービューのノードクリック時に、
ノードクリック時を判定する方法が分からない?

> 別フォームが表示され、
ノードクリック時に別フォームを表示させる時に、何か問題を抱えている?

> 別フォームにて、項目が選択されると
別フォームはどのような画面構成になっているのでしょうか?
その項目選択は、親フォームの WithEvents で受けているのでしょうか。
それとも子フォームのイベントで受けているのでしょうか。

> その項目にノードのKey及びTextを置き換えたい。
これは、親フォームの選択ノードを書き換えたいという事でしょうか。
だとしたら、その置き換え作業は親フォーム自身に行わせたいのでしょうか、それとも
子フォームが親のノードを書き換えるという形式をとりたいのでしょうか。

[ツリー表示へ]
タイトルRe^2: ツリービュー ノードの修正
記事No14943
投稿日: 2010/09/27(Mon) 15:40
投稿者めぐっぺ
魔界の仮面弁士様

> > その項目にノードのKey及びTextを置き換えたい。
> これは、親フォームの選択ノードを書き換えたいという事でしょうか。
> だとしたら、その置き換え作業は親フォーム自身に行わせたいのでしょうか、それとも
> 子フォームが親のノードを書き換えるという形式をとりたいのでしょうか。

実現したいことは…
子フォームで取得した内容で、
親フォームの選択ノードを書き換えたいということです。

置き換え作業は、親フォーム自身でと考えております。

説明が悪く申し訳ありません<(_ _)>

[ツリー表示へ]
タイトルRe^3: ツリービュー ノードの修正
記事No14944
投稿日: 2010/09/27(Mon) 18:02
投稿者魔界の仮面弁士
> 実現したいことは…
> 子フォームで取得した内容で、
> 親フォームの選択ノードを書き換えたいということです。
> 置き換え作業は、親フォーム自身でと考えております。

やりたい事はわかりました。
で、肝心の質問内容は何でしょうか?

わからない点を具体的に書いてもらわないと、
こちらとしても答えようがありません。(^^;


とりあえず…子フォームを「InputBox」で置き換えた場合、親フォーム側の処理は

 s = InputBox("新しい値を指定してください")   '入力値を受け取る
 If s <> "" Then
  Exit Sub  'キャンセル時は何もしない
 End If
 TreeView1.SelectedItem.Text = s 'ノードのテキストを書き換える

のようになるかと思います。ここまでは宜しいでしょうか?
(実際には Text だけでなく Key も変更するのでしょうけれども)



あるいは子フォームを「コモンダイアログ」で置き換えれば、

 CommonDialog1.CancelError = True
 On Error Resume Next
 CommonDialog1.ShowOpen 'ダイアログを表示
 If Err.Number = cdlCancel Then
  Exit Sub 'キャンセル時は何もしない
 End If
 On Error GoTo 0
 TreeView1.SelectedItem.Text = CommonDialog1.FileName 'テキストを書き換える

のように書けるでしょう。
多少コードは変わりますが、先ほどのコードと基本的には変わりませんよね。


上記 InputBox や CommonDialog の呼出部分を、
自作のモーダルフォームに置き換えた場合も、
同様のコードになるかと思います。

[ツリー表示へ]
タイトルRe^4: ツリービュー ノードの修正
記事No14945
投稿日: 2010/09/27(Mon) 18:39
投稿者めぐっぺ
魔界の仮面弁士様

的確なアドバイスを戴き、ありがとうございます!!

>  s = InputBox("新しい値を指定してください")   '入力値を受け取る
>  If s <> "" Then
>   Exit Sub  'キャンセル時は何もしない
>  End If
>  TreeView1.SelectedItem.Text = s 'ノードのテキストを書き換える

上記の方法で解決致しました。
ありがとうございました<(_ _)>

次は、質問方法を改めます(^^;
わかりにくい説明・・・すみませんでした。

[ツリー表示へ]