階層リストをすべて展開する方法 – 固定ページ 2 – プログラミング – Home

階層リストをすべて展開する方法
 
通知
すべてクリア

[解決済] 階層リストをすべて展開する方法

固定ページ 2 / 2

こう
 こう
(@こう)
ゲスト
結合: 23年前
投稿: 79
Topic starter  

>επιστημηさん
早急な返信ありがとうございます。
上記のソースをみて何をするべきだったのかが明確になりました。
誠にありがとうございます。


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

納得しないで。無駄が多いから。

// これで十分なハズ
void CXXXDlg::expandRecursive(HTREEITEM item) {
if ( item != 0 ) tree.Expand(item,TVE_EXPAND);
for ( item = item == 0 ? tree.GetRootItem() : tree.GetChildItem(item);
item != 0;
item = tree.GetNextItem(item, TVGN_NEXT) ) {
expandRecursive(item);
}
}

で、expandRecursive(0) すれば全部展開。


返信引用
こう
 こう
(@こう)
ゲスト
結合: 23年前
投稿: 79
Topic starter  

>επιστημηさん
ご注意ありがとうございます。
こんなに短いソースで可能なんですね。
安直に考えすぎてました。

今回はこんなにもお世話になり、
誠にありがとうございます。
今後ともよろしくお願いします。

敬具


返信引用
subaru
 subaru
(@subaru)
ゲスト
結合: 19年前
投稿: 381
 

余談ですがツリービューコントロールには
テンキーの'*'キーで全展開する機能があるので
フォーカスを合わせてから
tree.SendMessage(WM_KEYDOWN, VK_MULTIPLY);
のようなコードだけでも全展開してくれるっぽいです。
もちろん正攻法ではないのでオススメはしませんが。


返信引用
こう
 こう
(@こう)
ゲスト
結合: 23年前
投稿: 79
Topic starter  

>subaruさん
おっしゃるとおりデスクトップのPC当についてるテンキーならできました。
ただノートPCでやった場合はどうなのでしょうか。
現在手元にノートPCがないのでわかりませんが。

「*」に関しては今後使わせていただきます。
ありがとうございます。


返信引用
固定ページ 2 / 2

返信する

投稿者名

投稿者メールアドレス

タイトル *

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