您的位置:首页 > 其它

MFC的第一个程序Hello World, Hello MFC

2012-09-23 09:27 399 查看
先说明下目前的情况,现在玩过网页--- ASP.NET 和PHP。Android稍微玩了下,工作需要。一直对Windows 下的软件很好奇,不知道什么弄的。当然用C#写过WinForm类的软件,感觉拖控件有点乏味。听说MFC很难,用C++写的。

到Amazon.cn上买了两本书《深入浅出MFC》,《MFC Windows 程序设计》。前面一本比较难,后面一本比较贵。

看了1个多月。那个消息映射,什么宏,比较难啊,还有夸张的匈牙利命名。

废话说到这里,来看下MFC的第一个程序。顺便说下我用的是古老的Visual C++ 6.0,还有个必须提的是,用惯了Eclipse 和 VS2010 等大型IDE,用Visual C++ 6.0,那个没有智能提示代码,打一些Windows API比较麻烦,这里推荐安装Visual Assist X。



选择工程里的Win32 Application,工程名称改成HelloMFC



选择空工程即可。



左边的Tab 切换到FIleView,下面。你就会看到两个重要的文件夹。Header Files(存放C++头文件)和Resource Files(存放cpp文件)。

点击Header Fils 文件夹,点击菜单的文件-》新建。选择C/C++ Header File, 文件名输入 hello



hello.c

class CMyApp:public CWinApp
{
public:
	virtual BOOL InitInstance();
};
class CMainWindow:public CFrameWnd
{
public:
	CMainWindow();
protected:
	afx_msg void OnPaint();
	DECLARE_MESSAGE_MAP()
};


同样点击Resource Files 文件夹添加 C++ Source File.

hello.cpp

#include <afxwin.h>
#include "Hello.h"
CMyApp myApp;

BOOL CMyApp::InitInstance()
{
	m_pMainWnd = new CMainWindow;
	m_pMainWnd->ShowWindow(m_nCmdShow);
	m_pMainWnd->UpdateWindow();
	return true;
}

BEGIN_MESSAGE_MAP(CMainWindow,CFrameWnd)
ON_WM_PAINT()
END_MESSAGE_MAP()

CMainWindow::CMainWindow()
{
	Create(NULL,_T("The Hello Application"),WS_OVERLAPPEDWINDOW|WS_VSCROLL|WS_HSCROLL);
}

void CMainWindow::OnPaint()
{
	CPaintDC dc(this);
	CRect rect;
	GetClientRect(&rect);
	dc.DrawText(_T("Hello,MFC"),-1,&rect,
		         DT_SINGLELINE|DT_CENTER|DT_VCENTER);
	
}


最后



右击项目,选择设置,常规下的Microsoft 基础类:选择“使用MFC作为静态的DLL”或者“使用MFC作为共享的DLL”两个都可以。

点击确定后,F5运行起来后



注意下我这里用了360的什么保护眼睛的,看起来是绿色的。原生态的应该都是白色的。

好了,先到这里。

文章源地址:http://www.waitingfy.com/?p=157

例子下载:

HelloMFC.rar
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: