m_pMainWnd 是在什么时候初始化的,即调用 CMainFrame 的构造函数
如果是在CMyApp::Initinstance() 具体的执行在哪,谢谢

解决方案 »

  1.   

    看候的《深入浅出MFC>>我想是在LoadFrame里初始化的吧,我记不清了,
    这个在编程的时候用不到吧
      

  2.   

    是在CWinThread 类里的Cwnd *类型
    class CWinThread : public CCmdTarget
    {
    DECLARE_DYNAMIC(CWinThread)public:
    // Constructors
    CWinThread();
    BOOL CreateThread(DWORD dwCreateFlags = 0, UINT nStackSize = 0,
    LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL);// Attributes
    CWnd* m_pMainWnd;       // main window (usually same AfxGetApp()->m_pMainWnd)
    CWnd* m_pActiveWnd;     // active main window (may not be m_pMainWnd)
    BOOL m_bAutoDelete;     // ena
      

  3.   

    那么CMainFrame::CMainFrame()什么时候执行
      

  4.   

    应该是当你创建这样一个带有框架的应用的时候,就会CMainFrame::CMainFrame()!
    在里面执行初始化!
      

  5.   

    回复人: rengm(轻舟已过) ( ) 信誉:100  2002-11-27 12:53:00  得分:0 
      那么CMainFrame::CMainFrame()什么时候执行
     
    这一步隐含在 CYouApp::InitInstance 时候执行。
    里面有个构造单/多文档摸版实例。
    最终 MFC 框架通过 CMainFrame 的 RuntimeClass 来创建 CMainFrame 对象。
      

  6.   

    CSingleDocTemplate* pDocTemplate;
    pDocTemplate = new CSingleDocTemplate(
    IDR_MAINFRAME,
    RUNTIME_CLASS(CCWinAppDoc),
    RUNTIME_CLASS(CMainFrame),
    RUNTIME_CLASS(CCWinAppView));
    pDocTemplate->SetContainerInfo(IDR_CNTR_INPLACE);
    AddDocTemplate(pDocTemplate);// Parse command line for standard shell commands, DDE, file open
    CCommandLineInfo cmdInfo;
    ParseCommandLine(cmdInfo); // Dispatch commands specified on the command line
    if (!ProcessShellCommand(cmdInfo))
    return FALSE;
    我在断点调试中是在if (!ProcessShellCommand(cmdInfo))处进入
    CMainFrame::CMainFrame()的,这里是何意思?