CWndは、あらゆるウィンドウのベースとなるウィンドウ基底クラス・・・。
CFrameWndもCWndの派生クラス・・・。
CFrameWndの項では、CFrameWnd_のコンストラクタでウィンドウ作成のCreateを呼んでいたが、それだとCWinApp_クラスから自由に使えないので、
CFrameWnd_オブジェクトを作成し、ポインタをpFrameWnd_、さらにはm_pMainWndにも渡しておく・・・。
m_pMainWndは(CWnd *)型ポインタであり、メインウィンドウのオブジェクトポインタを格納しておくところ・・・。
元々はCFrameWndの親クラスのCWndのさらに親クラスのCWinThreadのメンバ・・・。
これはウィンドウを使う時は必ずセットしないとエラーが出るのでセットしてる・・・。
しかし、pFrameWnd_じゃないと、CFrameWnd_クラスとしてのメソッドを呼べないので、両方用意している・・・。
Createによるウィンドウの作成は、pFrameWnd_のCreateを呼んでいる・・・。
CFrameWnd_のCreateのほうが楽だし、そもそも親ウィンドウはこれじゃないと作成できないので・・・。
(CWndのCreateは、親ウィンドウポインタが必要で、子ウィンドウの作成しかできない・・・。)
ShowWindow、UpdateWindowは、親のCWndクラスのものなので、m_pMainWndから呼んでいる・・・。
ウィンドウを表示できた・・・。
Sample/CWinApp_.h at master · bg1bgst333/Sample · GitHub
Sample/CWinApp_.cpp at master · bg1bgst333/Sample · GitHub
Sample/CFrameWnd_.h at master · bg1bgst333/Sample · GitHub
Sample/CFrameWnd_.cpp at master · bg1bgst333/Sample · GitHub