1. 程式人生 > >從空專案建立MFC工程

從空專案建立MFC工程

好多教程都漏了一項,導致我一直黑框。。。

我的環境: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()
{

}