学习MFC中,但是用VS自动生成的项目包含的文件太多不易于理解,故自己建了一个空项目添加了.h.cpp文件进行编译。一开始总出错,提示说是神马没有入口……nndMFC还需要main()???设置编译选项:配置属性:常规:MFC使用,随便选一个静态动态均可。链接器:常规:启用增量链接:选使用不适用均可,但不能不选!!
附上hello world 代码:
hello.h:
#ifndef HELLO_H
#define HELLO_H
#include <afxwin.h>
class CMyApp : public CWinApp {
public:
virtual BOOL InitInstance();
};
class CMainWindow : public CFrameWnd {
public:
CMainWindow();
protected:
afx_msg void OnPaint();
DECLARE_MESSAGE_MAP()
};
#endif
hello.cpp:
#include "hello.h"
CMyApp my_app;
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("Hello World"));
}
void CMainWindow::OnPaint() {
CPaintDC dc(this);
CRect rect;
GetClientRect(&rect);
dc.DrawText(_T("Hello, MFC!"), -1, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER);
}