Chinaunix首页 | 论坛 | 博客
  • 博客访问: 263055
  • 博文数量: 45
  • 博客积分: 1618
  • 博客等级: 上尉
  • 技术积分: 530
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-11 10:13
文章分类

全部博文(45)

文章存档

2012年(1)

2011年(25)

2010年(19)

我的朋友

分类: C/C++

2011-02-22 10:58:53

在不使用MFC向导的情况下,从0构建一个mfc程序
1、创建一个空项目
2、修改项目属性
   配置属性->常规->MFC的使用,很显然,这里要载入mfc类库
   配置属性->连接器->系统->子系统,此处要修改为窗口,否则将报没有入口之类的错误
3、此时项目基本环境设置完毕,可以将vs2010自带的MFC的最小示例复制过来进行编译,代码如下

// helloapp.cpp : Minimal MFC Windows app.

//

// This is a part of the Microsoft Foundation Classes C++ library.

// Copyright (c) Microsoft Corporation. All rights reserved.

//

// This source code is only intended as a supplement to the

// Microsoft Foundation Classes Reference and related

// electronic documentation provided with the library.

// See these sources for detailed information regarding the

// Microsoft Foundation Classes product.


#include <afxwin.h>
#define MINIMAL
#ifdef MINIMAL

// Stub out non-critical CRT initialization functions

extern "C" void _setenvp() { }
extern "C" void _setargv() { }

// Define a window class derived from CWnd

class CHelloWindow : public CWnd
{
public:
    CHelloWindow()
    {
        CreateEx(WS_EX_CLIENTEDGE,
            AfxRegisterWndClass(0, ::LoadCursor(NULL, IDC_ARROW), (HBRUSH)(COLOR_WINDOW+1)),
            _T("Hello World!"), WS_OVERLAPPEDWINDOW,
            CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, 0);
    }
};

#else

// Define a window class derived from CFrameWnd

class CHelloWindow : public CFrameWnd
{
public:
    CHelloWindow()
        { Create(NULL, _T("Hello World!"), WS_OVERLAPPEDWINDOW, rectDefault); }
};

#endif

// Define an application class derived from CWinApp

class CHelloApp : public CWinApp
{
public:
    virtual BOOL InitInstance()
    {
        m_pMainWnd = new CHelloWindow();
        m_pMainWnd->ShowWindow(m_nCmdShow);
        m_pMainWnd->UpdateWindow();
        return TRUE;
    }
};

CHelloApp HelloApp; // HelloApp's constructor initializes and runs the app


阅读(7107) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~