

MFCのエクスプローラスタイルでスケルトンを生成し、エクスプローラのように
パソコン内のディレクトリやファイルを閲覧するものを作っています。
左のペインのツリー表示から始め、なんとか全ディレクトリ(仮想フォルダは除く)を表示したのですが、
すべての処理をOnInitialUpdate()内に書いてしまったので、
実行すると最初から、すべて展開した状態になってしまいます。
実際は、マイコンピュ-タと、その下のドライブくらいまで表示して、
あとはプラスマークをクリック or ダブルクリックにより展開させたいのです。
OnItemexpandingあたりを使うのかな?と思うのですが、
どの記述を移せばいいのか、また引数に何を入れたら良いか、
ヘルプや本を見てもいまいちわかりません。
特にOnItemexpandingを使う必要はないのですが、
縮小させる方法がありましたら教えてください。
No.1ベストアンサー
- 回答日時:
CTreeCtrlのInsertItem()を使ってれば普通に閉じた状態でアイテムが追加されるはずですけどね(^_^;
OnItemexpanding()はユーザあるいはプログラムがツリーアイテムの展開/縮小を行った時に呼ばれるハンドラなので関係ありません。
プログラム側でツリーアイテムの展開/縮小を行うにはCTreeCtrl::Expand()を使います。
(CTreeCtrl::Expand()の詳細はURLを参照してください)
第一引数は操作するツリーアイテムのハンドル
第二引数は操作内容
閉じる場合:TVE_COLLAPSE
開く場合:TVE_EXPAND
なので、アイテムを閉じたい場合には
Expand(ツリーアイテムのハンドル, TVE_COLLAPSE);
とします。
以下に簡単な例を。
HTREEITEM hTree;
CTreeCtrl& tree = GetTreeCtrl();
hTree = tree.InsertItem("ルート", TVI_ROOT, TVI_LAST );
tree.InsertItem("子アイテム", hTree, TVI_LAST );
tree.Expand(hTree, TVE_COLLAPSE);
参考URL:http://www.microsoft.com/JAPAN/developer/library …
申し訳ありません、締め切ったときにお礼を一緒に書き込んだはずなのですが
うまく入らなかったようでした。お礼が遅れてすみませんでした。
大変解かりづらい説明に対し、お答えいただきましてありがとうございました。
なかなかやってみる時間がとれていないのですが、こういう関数があったのを
知らなかったので、大変助かります。
CTreeCtrl::Expand()でなんとかなりそうです。
どうもありがとうございました。
またよろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
FTPコマンドでディレクトリごと...
-
現在位置より2つ上のディレク...
-
Subversionのリポジトリの削除
-
CFileDialogの最初のディレクト...
-
VB.NET 最下位のディレクトリ名...
-
「mkdir」について
-
バッチを用いたフォルダの自動移動
-
posix_getpwuid()の使い方を知...
-
makefile でファイルをコピーす...
-
rmdirでフォルダが消せません
-
visualstudioでc#のdllができない
-
ディストリビューションウィザ...
-
MkDir関数
-
renameでのPermission deniedエ...
-
VB2008でFTPでのディ...
-
LoadLibraryの戻り値(HMODULE)...
-
PHPのif文でその処理を途中で抜...
-
存在しないメールアドレスかど...
-
phpでの画像ランダム表示方法
-
PHPでPDFを画像で表示したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FTPコマンドでディレクトリごと...
-
Subversionのリポジトリの削除
-
CFileDialogの最初のディレクト...
-
makefile でファイルをコピーす...
-
現在位置より2つ上のディレク...
-
visualstudioでc#のdllができない
-
JAVA内で複数のファイルを削除...
-
rmdirでフォルダが消せません
-
バッチを用いたフォルダの自動移動
-
glob関数で日本語文字が取得で...
-
Subversionで、ファイルをリネ...
-
Makefile.inとMakefile.am
-
O/Rマッパーの選定
-
DLL のロードの順序
-
WSHやVBSについて
-
ツリーメニューを縮小させたい
-
絶対パス?絶対アドレス?意味...
-
LoadLibraryの戻り値(HMODULE)...
-
wordpressの記事をカスタマイズ...
-
ApacheとPHPについて
おすすめ情報