CDocManager

CDocManagerは、ドキュメントテンプレートを管理しているようだが、どういう役割をしているか詳細はこれから調べていく。

MFC Document/View documentation and enhancements - CodeProject

しかも、インターナルクラスなのか、MSDNやdocsのリファレンスにはなく、MFC階層図にも無い模様。

MFCアプリケーション
MFCアプリケーション

MFCで。
この先は、前回と変わらない。

ドキュメントテンプレート文字列
ドキュメントテンプレート文字列

こんなドキュメントテンプレート文字列。

生成されたクラス
生成されたクラス

今回、またCViewに戻してる。

AddDocTemplate
AddDocTemplate

AddDocTemplateにブレークポイントおいて、ここでステップイン。

CWinApp::AddDocTemplate
CWinApp::AddDocTemplate

CWinApp::AddDocTemplateはこうなっている。
ここでCDocManagerをnewして、m_pDocManagerに格納する。

new CDocManager
new CDocManager

ここでステップインすると、

new
new

ここにきちゃうので、いったんステップアウト。

もう一回
もう一回

もう一回ステップイン。

なにもない
なにもない

なんとコンストラクタなにもない。

m_pDocManagerはどうなっているのか
m_pDocManagerはどうなっているのか

ステップオーバーしてm_pDocManagerの中身はどうなっているのか見てみると、

m_pDocManagerの中身
m_pDocManagerの中身

m_templateListやpStaticListというリストがある。
ドキュメントテンプレートを保持しておくリストのようだ。

今回はここまで。

Sample/mfc/CDocManager/CDocManager/src/CDocManager at master · bg1bgst333/Sample · GitHub