单步调用MFC的函数

 通过单步调用MFC我来为你找到MFC的一些根本的函数吧。还解析下。个别宏定义的函数是什么意思。

当然MFC的CMainFrame类固然是MFC框架的老大了。他的工作是核心工作。所以他也是先创建的。那么我们单步调用的时候就从他开始。

CMainFrame类的构造函数创建后。

进入IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd) 这是一个宏

跳到  CRuntimeClass类的CreateObject();的 pObject = (*m_pfnCreateObject)();弄了个pObject出来并返回他的值。

返回到  CDocTemplate

      的CreateNewFrame(CDocument* pDoc, CFrameWnd* pOther)下面的CFrameWnd* pFrame = (CFrameWnd*)m_pFrameClass->CreateObject();看来是要知道Frame创建成功了没有。翻译过来就是问框架创建没有?

       继续往下 到 这个类下面的。ASSERT_KINDOF(CFrameWnd, pFrame); 一个函数。是什么意思呢。我没进去了解过。

       继续往下 到这个类下面的 pFrame->LoadFrame(m_nIDResource,WS_OVERLAPPEDWINDOW|FWS_ADDTOTITLE,  /*default frame styles*/,NULL, &context);

       创建pFrame成功了。要返回pFrame了。

 返回到CSingleDocTemplate类(DOCSINGL.CPP)

     的OpenDocumentFile(LPCTSTR lpszPathName,BOOL bMakeVisible);的语句pFrame = CreateNewFrame(pDocument, NULL);

      继续往下 到了这个类的SetDefaultTitle(pDocument);

      继续往下 到了这个类的CWinThread* pThread = AfxGetThread(); //先生,这不是要创建一个线程了吗?是的谢谢.

      继续往下 到了这个类的InitialUpdateFrame(pFrame, pDocument, bMakeVisible);//初始化了。

      最后返回pDocument

返回到CDocManager(DOCMGR.CPP)

           的OnFileNew();的语句pTemplate->OpenDocumentFile(NULL);

     返回(无返回值);

返回到了CWinApp类(APPDLG.CPP)

     的OnFileNew();的语句 m_pDocManager->OnFileNew();

     返回(无返回值);

返回到_AfxDispatchCmdMsg(CMDTARG.CPP)注意:这个是框架函数。框架调用了。不属于某个类了。

     的语句(pTarget->*mmf.pfn_COMMAND)();

     返回 bResult   (类型BOOL);

返回到CCmdTarget类(CMDTARG.CPP)

 的OnCmdMsg(UINT nID, int nCode, void* pExtra,
     AFX_CMDHANDLERINFO* pHandlerInfo)的语句
return _AfxDispatchCmdMsg(this, nID, nCode,
    lpEntry->pfn, pExtra, lpEntry->nSig, pHandlerInfo);

   返回就是上面的bResult了。

返回到了CWinApp类(APPUT2.CPP)

ProcessShellCommand(CCommandLineInfo& rCmdInfo)的语句  AfxGetApp()->OnCmdMsg(ID_FILE_NEW, 0, NULL, NULL);

   返回bResult;

返回到C用户定义App类(用户定义.CPP)

  的InitInstance()的语句ProcessShellCommand(cmdInfo);

返回 TRUE;

(WINMAIN.CPP)

AfxWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,LPTSTR lpCmdLine, int nCmdShow)  (框架函数)的语句pThread->InitInstance();

继续的语句nReturnCode = pThread->Run();//这时候你创建的窗口开始运行起来了。

到了这里了。创建的工作也完成了。后面就看窗口怎么运行了。


 

 

 

                     表示类自己定义的函数

 

                        表示调用人家的函数了。(借用东西一定要说明)

 

                   表示创造成功了的东西。或者说是一个类,或变量

 

 

 

你可能感兴趣的:(工作,框架,command,null,mfc,styles)