• ベストアンサー

スケルトンの中のどこでウィンドウが生成されているのか?

VC++、MFCです。 MFC AppWizardでSDIベースのスケルトンを生成した時点で、既にウィンドウが作られるコードがソース内に存在するはずなのですが、単純にCreate関数を探しても見当たりません。 一体どこでウィンドウが作るコードはどこにあるのでしょうか?

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

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.2

スケルトンで作成されるコードで言うと、 CWinApp::InitInstance の中の if (!ProcessShellCommand(cmdInfo)) の中です。 実際には、ここで呼ばれるフレームワーク中でCreateExが呼ばれてたはずです。興味があるのでしたらProcessShellCommandにブレイクポイントをはって、ステップ実行してソースを追ってみてください。 >思いますが、そのコンストラクタでCreateされていると思います。 MFCのフレームワーク中でコンストラクタ内でウィンドウを作成することはありません。

_comcom
質問者

お礼

どうもありがとうございます。 実際にProcessShellCommandのソースを追うとCreateExに行き当たりました。 ようやくスッキリしました。

その他の回答 (1)

  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.1

SDIの場合CWinAppを継承したクラスがあると 思いますが、そのコンストラクタでCreateされていると思います。 CWinApp自体のコードはプロジェクトにはないわけで Create関数を探しても見つからないのだと思います。

_comcom
質問者

お礼

ありがとうございます。 調べてみたいと思います。

関連するQ&A

専門家に質問してみよう