MFC-win32环境创建MFC_新窗口

1.创建win32环境空项目

 

2.设为启动项目

3.修改字符集

4.

MFC-win32环境创建MFC_新窗口_02

 

 5.添加新建项

MFC-win32环境创建MFC_新窗口_03

 

6.代码

#include <afxwin.h>  //相当于windows.h+afx.h

//2.框架窗口类
class CMyFrameWnd :public CFrameWnd {};
//CFrameWnd是单文档框架窗口类


// 1.应用程序类
class CMyWinApp :public CWinApp
{
public:
    virtual BOOL InitInstance(); //启动函数

};

CMyWinApp theAPP;

BOOL CMyWinApp::InitInstance()

{
    CMyFrameWnd* pFrame = new CMyFrameWnd; //先new窗口空间
    pFrame->Create(NULL,"MFCBase");  //创建窗口
    //参数1:lpszClassName窗口类名.
    //        类名称可以是向 AfxRegisterWndClass 全局函数或 RegisterClass Windows 函数注册的任何名称。 如果是 NULL,请使用预定义的默认 CFrameWnd 特性
    //参数2:标题栏的文本
    //参数3:窗口样式。 如果希望标题栏自动显示窗口中表示的文档的名称,请包含 FWS_ADDTOTITLE 样式
    //参数4:RECT 指定窗口的大小和位置。 rectDefault 值允许 Windows 指定新窗口的大小和位置
    //参数5:窗口的父窗口。 对于顶级框架窗口,此参数应该为 NULL
    //参数6:菜单资源的名称。 如果菜单具有整数 ID 而不是字符串,请使用 MAKEINTRESOURCE。 此参数可以为 NULL 
    //参数7:窗口扩展样式
    //参数8:指向 CCreateContext 结构的指针。 此参数可以为 NULL
    //返回值:如果初始化成功,则为非零值;否则为 0  

    m_pMainWnd = pFrame;
    //该成员变量存储线程主窗口对象。当和m_pMainWnd相关的窗口被关闭后,MFC会自动终止线程。如果该线程是应用程序主线程,程序也将会被终止。如果该数据成员为NULL,应用程序CWinApp对象的主窗口将用来决定什么时候去终止线程。m_pMainWnd是一个CWnd*类型的public变量
    //很明显,需要在重载InitInstance时为m_pMainWnd赋值。在工作线程中,m_pMainWnd自动继承其父线程的值

    m_pMainWnd->ShowWindow(SW_SHOW);   //显示窗口
    m_pMainWnd->UpdateWindow();  //更新窗口a


    return TRUE;

    
    
}