完成乙個簡單的mfc程式,並分析**中物件類的關係以及程式執行流程
用cl.exe,linker.exe等編譯簡單的windows api程式和mfc程式
總結程式的執行流程主要是先進行一些初始化過程,再註冊並建立視窗,接下來顯示視窗再更新視窗,最後進入訊息迴圈,視窗過程函式來處理所有的訊息。
首先要新增環境變數,這也是我認為最重要的一步,翻來覆去弄了好久,最後終於可以了
在環境變數path中新增cl.exe所在路徑
然後可以在命令列輸入cl,看自己有沒有正確,正確如下
然後在環境變數裡新建lib,加入如下變數
新建include,新增如下路徑
接下來在.cpp檔案的路徑框直接輸入cmd進入命令列
先進行編譯操作
顯示編譯成功,這個時候在當前目錄下就會生成乙個obj檔案
接下來進行連線操作
開啟vs,進行如下操作,
複製紅色箭頭的內容
使用link命令將之前生成的obj檔案與這些檔案連線起來,一定注意把複製過來的分號去掉,後面部分內容也不需要。
顯示連線成功後當前目錄會出現.exe檔案
這時我想執行.exe檔案還是執行不了,經過解決,發現還需要進行如下操作,搜尋rc.exe所在路徑,然後將其加入到path環境變數中
再在命令列中輸入rc.exe windowsproject3.rc得到字尾.res的檔案.
再將其和剛剛的檔案連線起來,這時便可以直接執行.exe檔案了
但這時會出現這個錯誤,還需要把這段**加入mfc程式中
extern int afxapi afxwinmain(hinstance hinstance, hinstance hprevinstance,
in lptstr lpcmdline, int ncmdshow);
extern 「c」 int winapi
_twinmain(hinstance hinstance, hinstance hprevinstance,
in lptstr lpcmdline, int ncmdshow)
#pragma warning(suppress: 4985)
int afxapi afxwinmain(hinstance hinstance, hinstance hprevinstance,
in lptstr lpcmdline, int ncmdshow)
nreturncode = pthread->exitinstance();
goto initfailure;
}nreturncode = pthread->run();
}afxwinterm();
return nreturncode;
然後再在命令列中連線(需要重新編譯.cpp檔案生成.obj檔案)
顯示成功後能直接執行.exe檔案
通過本次實驗,我學習了mfc基礎,能夠運用mfc框架,並且對框架的**有了較為清楚的認識,了解了程式的執行流程;還掌握了用cl.exe和link.exe的方法,在此過程遇到了無數次問題,但是經過查閱資料,詢問同學老師得到了解決,儘管做起來並不順利,但是當撥開雲霧見光明的時候,也有滿滿的成就感。
MFC程式視窗標題設定
mfc程式的預設的標題是 無標題 title 其中title是應用程式的名稱,我們應如何修改mfc視窗標題來符合自己的要求?mfc程式的文件類中定義了乙個虛函式settitle,用於設定視窗標題的前半部分,如果只是要修改 無標題 部分,可以過載文件類的該函式。視窗標題的後半部分可以通過setwind...
MFC學習之視窗基礎
winmain函式 1 控制代碼 handle 1.定義 資源的標識 2.控制代碼的作用 作業系統通過控制代碼來找到對應的資源,從而對這些資源進行管理和操作。3控制代碼的分類 按資源 1.圖示控制代碼 hicon 2.游標控制代碼 hcursor 3.視窗控制代碼 hwnd 4.應用程式實列控制代碼...
MFC程式開發 視窗的誕生
從今天開始看 mfc程式開發參考大全 這本書啦,所以會寫一下上面的好玩的 先是第一章,這次的 就是體現了 在mfc之前,開發人員是怎樣寫windows應用程式的。先上 好了 include windows.h include 視窗函式 系統通過視窗函式處理系統中的各種訊息 視窗函式原型為 typed...