Tree Control のチェックボックス – プログラミング – Home

Tree Control のチェックボ...
 
通知
すべてクリア

[解決済] Tree Control のチェックボックス


なり
 なり
(@なり)
ゲスト
結合: 23年前
投稿: 6
Topic starter  

Tree Controlのルートのチェックボックスにチェックを入れられない状況です。
(下位(子)のチェックボックスも全て)
コードは、HTREEITEM hRootItem = m_tree.GetRootItem();
 m_tree.SetCheck(hRootItem);です。

作成中ソフトを起動後にTree Controlをマウスからルートのチェックボックスを
クリックするとチェックが入り、マウスクリックのイベントから
SetCheckを実行すると下位(子)にチェックが入ります。

原因がわかる方いらっしゃいましたら回答よろしくお願い致します。

環境:Windows XP(SP1), Visual C++.NET 2003


引用未解決
トピックタグ
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

そのhRootItemは本当にチェックを入れたいアイテムですか? 確認しましたか?


返信引用
なり
 なり
(@なり)
ゲスト
結合: 23年前
投稿: 6
Topic starter  

ルートには、起動から終了までチェックを入れておきたいです。
下位(子)には起動段階だけ必要なところにチェックを入れておき、
マウスでクリックされたら入れたりはずしたりさせます。

確認とは何の確認でしょうか?

よろしくお願い致します。


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

> 確認とは何の確認でしょうか?

そのhRootItemは本当にチェックを入れたいアイテムか。です。

--□ 親
  +-- □ 子

であったとき、hRootItemは本当に'親'か? です。


返信引用
なり
 なり
(@なり)
ゲスト
結合: 23年前
投稿: 6
Topic starter  

ルートアイテムを追加する時は、
m_HndTree[0] = m_tree.InsertItem(ルート, TVI_ROOT);
下位(子)アイテムを追加する時は、
m_HndTree[1] = m_tree.InsertItem(子1, m_HndTree[0]);
m_HndTree[2] = m_tree.InsertItem(子2, m_HndTree[0]);
にしています。

hRootItemとm_HndTree[0]は違うアイテム?

そこで、m_tree.SetCheck(m_HndTree[0]);にしましたがチェックは入りません。

ルートを展開する時は、m_tree.Expand(m_HndTree[0], TVE_EXPAND);で
展開できます。

なにが間違っているのでしょうか?

よろしくお願いします。


返信引用
なり
 なり
(@なり)
ゲスト
結合: 23年前
投稿: 6
Topic starter  

自己レス

m_tree.ModifyStyle( TVS_CHECKBOXES, 0 );
m_tree.ModifyStyle( 0, TVS_CHECKBOXES );
の2行を追加したらチェックボックスのチェックが入りました。

間違えてVC++ 6.0のヘルプを見ていました。
VC++.NETのヘルプに載っておりました。
大変申し訳ありませんでした。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました