MFC最小程序(不使用应用程序向导)
生活随笔
收集整理的這篇文章主要介紹了
MFC最小程序(不使用应用程序向导)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
使用MFC基礎類庫創建一個窗口,不使用VC++應用程序向導;
Win7, VC6;新建一個Win32項目;
創建一個空工程;
添加一個CPP代碼文件;
#include <afxwin.h>//應用程序類 class COurApp : public CWinApp { public: virtual BOOL InitInstance(); ~COurApp(); };//窗口類 class COurWnd: public CWnd { public: COurWnd() { //構造函數 // Create(0,L"我們的MFC程序!"); CreateEx(0, AfxRegisterWndClass( CS_HREDRAW | CS_VREDRAW,LoadCursor (NULL, IDC_ARROW),(HBRUSH) GetStockObject (WHITE_BRUSH),0), "最小MFC", // "SplashWindow Sample", // WS_OVERLAPPED, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, NULL); } };//實現類中的bai函數 COurApp::~COurApp() { if(m_pMainWnd) delete m_pMainWnd; } BOOL COurApp::InitInstance(void) { m_pMainWnd = NULL; if(m_pMainWnd == NULL) m_pMainWnd = new COurWnd(); m_pMainWnd->ShowWindow(m_nCmdShow); return TRUE; }; COurApp myapp;"最小MFC",或使用 L"最小MFC"; 自己看;?
工程設置選中如下;使用MFC;
運行程序;出錯;
nafxcw.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
nafxcw.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex
工程設置,C/C++ / 分類 / Code Generation / Multithreaded;
再運行;窗口出來了;
沒有看到winMain的入口函數;MFC基礎類庫已經封裝了;程序運行先執行CxxxApp::InitInstance;然后如代碼所示,把窗口創建了;
?
如下代碼,基本一樣;
#include <afxwin.h>class CMyWinApp:public CWinApp{public:BOOL InitInstance(){CFrameWnd *pwin=new CFrameWnd;m_pMainWnd=pwin;pwin->Create(0,_T("Hello MFC"));pwin->ShowWindow(SW_SHOW);return TRUE;}};CMyWinApp theApp;如下代碼,構建成功;但是運行不顯示任何;有時間再看;
#include "afxwin.h"class CMinApp:public CWinApp { public:virtual BOOL InitInstance(); }; BOOL CMinApp::InitInstance() {CFrameWnd* pFrame = new CFrameWnd;m_pMainWnd = pFrame;pFrame->Create(0, _T("最小MFC程序"));pFrame->ShowWindow(SW_SHOW);//pFrame->UpdateWindow(); //system("pause");return TRUE; } CWinApp MyApp;?
總結
以上是生活随笔為你收集整理的MFC最小程序(不使用应用程序向导)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 百度地图API公交检索示例 - 标绘结果
- 下一篇: 超图桌面版使用模板创建数据源