好多教程都漏了一项,导致我一直黑框。。。
我的环境:win7+vs2012,不过这个应该都差不多吧。
1.从Visual C++中选择添加一个空项目
2.在项目属性-》配置属性-》链接器-》系统-》子系统中选择windows (否则就会只出黑窗口)
3.在项目属性-》配置属性-》常规-》项目默认值-》MFC的使用一栏中,选择使用“在共享DLL中使用MFC”(默认是使用标准Windows库)
4.在项目分别stdafx.h和main.cpp. (这块可以自己灵活变化,但建议按这个来,否则容易出问题)
参考代码:
stdafx.h
#ifndef STDAFX_H
#define STDAFX_H
#include <afxwin.h>
#endif
main.cpp
#include"stdafx.h"
class CMFCApp:public CWinApp
{
public:
virtual BOOL InitInstance();
};
class CMFCFrmWnd:public CFrameWnd
{
public:
CMFCFrmWnd();
protected:
afx_msg void OnLButtonDblClk(UINT uFlag, CPoint pt);
afx_msg void OnPaint();
DECLARE_MESSAGE_MAP()
};
BEGIN_MESSAGE_MAP(CMFCFrmWnd,CFrameWnd)
ON_WM_LBUTTONDBLCLK()
ON_WM_PAINT()
END_MESSAGE_MAP()
BOOL CMFCApp::InitInstance()
{
m_pMainWnd = new CMFCFrmWnd();
m_pMainWnd->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();
return true;
}
CMFCFrmWnd::CMFCFrmWnd()
{
Create(NULL,_T("InsideMFC"));
}
void CMFCFrmWnd::OnLButtonDblClk(UINT uFlag, CPoint pt)
{
MessageBox(_T("HELLO WORLD!"),NULL,MB_OK);
}
void CMFCFrmWnd::OnPaint()
{
CPaintDC dc(this);
dc.TextOut(0,0,_T("HELLO WORLD!"));
}
CMFCApp theApp;
void main()
{
}