解決済み

CDocumentの取得方法について

  • すぐに回答を!
  • 質問No.22048
  • 閲覧数351
  • ありがとう数1
  • 気になる数1
  • 回答数1
  • コメント数0

お礼率 60% (48/80)

CTreeCtrlクラスを使って、
ドキュメントクラスのデータを
ダイアログ上のツリーコントロールに
表示させるプログラムを作っています。

CViewクラスでは、GetDocument()関数で
ドキュメントデータを取得できますが、
CTreectrlクラスには、そのような関数がないので、
困っています。


どうすれば、ドキュメントデータをツリー表示できるのかを教えてください。

よろしくお願いします。

質問者が選んだベストアンサー

  • 回答No.1

ベストアンサー率 28% (42/146)

Viewのポインタを取得し、必要なCView継承クラスへキャストして
GetDocument()すれば問題ないです。
Viewを取得する方法は沢山あります。
例えばCTreeCtrlがViewの子ウィンドウとして生成されてるなら

CMainFormView* pv = (CMainFormView *)pTreeCtrl->GetParent();

や、コントロールが別のダイアログにあり、且つViewが
一つだけの場合は、

CFrameWnd* pfrm = (CFrameWnd *)AfxGetApp()->GetMainWindow();
CMainView* pv = (CMainView *)pfrm->GetActiveView();

複数viewがあった場合も、上記方法をちょっと工夫して
目的のViewが出てくるまでGetNextViewすればよいかと。
お礼コメント
zico

お礼率 60% (48/80)

ご教授ありがとうございました。

おかげさまで、無事Viewへのポインタを取得できました。

AfxGetApp関数やCFrameWndクラスのヘルプを見ることで
今まで見えなかった世界が開けてきました。

ありがとうございました。
投稿日時 - 2000-12-27 10:40:55
Be MORE 7・12 OK-チップでイイコトはじまる
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


より良い社会へ。感謝経済プロジェクト始動

ピックアップ

ページ先頭へ