掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ツリービューを更新するには? (ID:54899)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
VC++初心者ですのでよろしくお願いいたします. ツリービューの取扱いに関して質問させてください. 【実現したいこと】 ランダム生成されるID(数字)をツリービューに表示. IDがランダム生成される度にツリービューを更新. 【問題となっている点】 1回目にIDが生成されるとツリービューに正しく表示 される. しかし,2回目以降は1回目のツリービューが消去されずに ,連続して記述されてしまう. [1回目実行] -ID -12 -84 -35 [2回目実行] -ID -12 -84 -35 -ID -98 -33 -41 そこで,DeleteItem()/DeleteAllItemsを使用してID生成の 度に,最初に全てのアイテムを消去することにしました (ID生成はボタンを使用). しかし,その場合,ツリービューには一切何も表示され ません.何度,ボタンを押してIDを生成しても表示され ません. 以下に検証のために作成したソースを記述いたします. 以下を実行すると,『表示』を押しても何もツリービュー に現れません.OnBnClickedButton2()のDeleteAllItems()を コメントアウトすると,『表示』を押すとIDを親とするツリー が積み重なっていき,初期化されません. 【インクルードファイル】 static HTREEITEM plate[10]; static HTREEITEM id[100]; 【ソース】 ツリービューとボタン2個を使用 ツリービューに表示するIDはfor文のループ回数です. ボタン1はID表示用の『表示』です. ボタン2はツリービュー初期化用の『消去』です. // ボタン1のコントロール void Ctrial03Dlg::OnBnClickedButton1() { // 本関数の最初に以下を記述すればボタン1を押す度に初期化??? //my_tree_view.DeleteAllItems(); int i; CString id_text; plate[0] = my_tree_view.InsertItem("ID", TVI_ROOT); for(i = 0; i < 10; i++){ id_text.Format("%d", i); id[i] = my_tree_view.InsertItem((LPCTSTR)id_text, plate[0]); } } // ボタン2のコントロール void Ctrial03Dlg::OnBnClickedButton2() { // TODO : ここにコントロール通知ハンドラ コードを追加します。 my_tree_view.DeleteAllItems(); //my_tree_view.DeleteItem(plate_tree[0]); } 素人な質問で申し訳有りませんが,アドバイスお願いいたします. Google先生で調べてみましたが,参考になるサンプルを見つけれ ませんでした.
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.