從空專案建立MFC工程
阿新 • • 發佈:2019-02-19
好多教程都漏了一項,導致我一直黑框。。。
我的環境: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() { }