-PR-
解決済み

CDocumentの取得方法について

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

お礼率 60% (48/80)

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

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


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

よろしくお願いします。
通報する
  • 回答数1
  • 気になる1
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.1
レベル10

ベストアンサー率 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
-PR-
-PR-
このQ&Aで解決しましたか?
AIエージェント「あい」

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

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

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

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

特集


専門家があなたの悩みに回答!

-PR-

ピックアップ

-PR-
ページ先頭へ