请问一下_tWinMain,AfxWinMain和WinMain函数的关系和区别

解决方案 »

  1.   

    _tWinMain在多字节下,就是WinMain
    都是入口函数,分别对应mfc和win 32
    win console的入口函数是main或_tmain
      

  2.   

    还有请问一下 CWinApp* pApp = AfxGetApp(); //获取子类
    是怎么个获取子类?
    if (!pThread->InitInstance()) //初始化注册窗口
    20     {
    21         if (pThread->m_pMainWnd != NULL)
    22         {
    23             TRACE0("Warning: Destroying non-NULL m_pMainWnd\n");
    24             pThread->m_pMainWnd->DestroyWindow();
    25         }
    26         nReturnCode = pThread->ExitInstance();
    27         goto InitFailure;
    28     }
    是怎么个初始化注册窗口?
      

  3.   

    _tWinMain 支持多字符集的WinMain如Tchar
    AfxWinMain 这个好像是微软封装了的,他会调用_tWinMain好像还封装了些其它东西
    WinMain  窗口函数
      

  4.   

    #define _tWinMain WinMain
    _tWinMain(...)
    {
       return AfxWinMain(...);
    }
    _tWinMain 通过宏替换后就是WinMain,_tWinMain调用AfxWinMain,MFC程序的具体操作是通过AfxWinMain完成的
      

  5.   

    extern "C" int WINAPI
    _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
    LPTSTR lpCmdLine, int nCmdShow)
    {
    // call shared/exported WinMain
    return AfxWinMain(hInstance, hPrevInstance, lpCmdLine, nCmdShow);
    }
    新建一个MFC功能,F10进入就可以看到了
      

  6.   

    1.怎样获得子类?
      通过多态实现的,具体原理你要看c++了,来龙去脉也很简单,就是叙述很累赘,比如深入浅出,说一大堆废 话,最后表达的还是多态这个意思,具体你自己慢慢看吧,告诉你原理就行了。2.是怎么个初始化注册窗口?
      注册类、消息、以及消息循环三位一体构成了mfc的窗口架构,如果是单文档,就是三个对象,两个窗口,这些都是基本概念,还是去看看深入浅出mfc,虽然啰嗦,但很精典,值得一看。
      而注册类就是你说所得注册窗口,其实就是初始化一些窗口stlye和接收消息的回调winproc,概念就这些了,还是去看看基本东西吧,这些急不来。