MFC學習之初體驗

2021-04-02 22:27:42 字數 1748 閱讀 9755

學習mfc是從昨天晚上開始的,剛開始時我讀的是《深入淺出mfc》,讀了幾篇,感覺上它講的有那麼一點太本質了。但是我還是從它那裡獲得了乙個總體的認識。

不要被表面現象所蒙蔽了!我用vc6自動生成了乙個基於對話方塊的mfc程式。好了,不要看那個象是在vb下編寫程式的框框,我雙擊開啟原**檔案,這個時候我明白,事實上mfc就只是乙個類庫,我覺得只要稍微改變以下,我們甚至可以直接用#include 和#pragma來用mfc寫windows視窗程式!

瀏覽了原**很多遍-----呵呵--,很多東西不清楚。

看文章,看教程,我覺得我還應該先看點表面的東西,我得對mfc程式有個大體的認識----例如怎樣去做個程式啦之類的。

在看文章的過程中,我對比著那分原**看,今天看了些訊息對映的文章。

於是一時頭熱,自己搗鼓起原**----沒有用classwizard---呵呵,弄了個訊息處理函式,居然成功了。我開始驚嘆起自己的能力來,自言自語道:太誇張了,真的是到了一定的境界後,自己不看書都可以悟出原理來~~~(哈哈,讓高手見笑了~)

我的大膽做法:

於是:在cgggdlg裡加入訊息處理函式的宣告- afx_msg lresult mousemsg(wparam wparam,lparam lparam);

在cpp檔案裡的訊息對映那裡加入訊息對映巨集(cgggdlg有兩個這個東西,只需要看begin_message_map(cgggdlg, cdialog)):

on_message(wm_lbuttondown,mousemsg)

然後再定義那個函式:

afx_msg lresult cgggdlg::mousemsg(wparam wparam,lparam lparam)

f7~~~恩  就成功了~~執行程式看看,效果完全達到~~~ok  是個好的開頭~~

ps:13:30

在網上翻到一篇文章,一看,嚇我一跳,我的所謂「甚至可以直接用#include 和#pragma來用mfc寫windows視窗程式」居然是正確的,還真有人這樣寫程式的!我把他的示例程式複製到vc下,(這裡不是#pragma(comment,"***.lib")--也許只要找到相應的lib就可以)選擇using mfc int a static library~~編譯成功,連線也成功~~汗~為什麼又要我給 猜對了!

話說回來,剛開始時,我確實為我的想法感覺納悶。如果真的可以#include 來寫mfc程式的話,那麼那個說明mfc類庫的標頭檔案又在**被包含了呢?----當時我鬱悶了一下,也沒有深究下去------畢竟用mfc的人哪個會去不用那些wizard?後來一不小心開啟 stdafx.h檔案------總以為它是用來處理預編譯的,沒想到就在那裡面,包含了我猜測到的標頭檔案------afxwin.h!

ps:22:08

現在我已經基本上知道了mfc程式的大致執行過程,以及大致的框架。

mfc不僅僅是乙個封裝了windows api的類庫,它還提供了一層建立在

windows api

的c++

視窗類也是必須的,mfc提供了三個類cframewnd、cmdiframewnd(也需要cmdichildwnd)和cdialog 分別用於支援單文件視窗、多文件視窗和對話方塊。我們也需要自己做個類從那幾個類裡派生出常用的方法。為什麼要派生?理由和上面的差不多,就是為了實現自己需要的功能。

ps:23:38

在接下來的計畫裡,我決定先用mfc做幾個程式,先熟悉一下,這樣可以更深入地理解它。然後我還需要練習一些c++的高階特性----什麼是學的快忘的快?這個在偶身上體現的非常明顯--hoho~

練習mfc,我想我還是會基於對話方塊型別的。ok~~go ~

bing之初體驗

哈哈,期待已久的微軟搜尋引擎bing 必應 的中文版今天終於推出了。剛開始使用google搜尋其主頁時怎麼也搜尋不到,還以為微軟食言。後來轉念一想,bing很可能是google未來的最大競爭對手,在當前這個還不為人所熟知的階段,很有可能給對方穿穿小鞋的。於是用在ie自帶的搜尋工具條上鍵入bing之後...

Statspack之初體驗

呵呵,今晚之前從來沒有做過statspack 好像有點丟人 這幾天乙個資料庫實在被折磨得不行了,明明sga max size有1.5g,但是實際看整個例項才用了200 m記憶體,慢得要死,頻繁讀寫硬碟,偏偏硬碟又不是磁碟陣列,io狂慢,唉,痛苦啊。於是決定花點時間學下例項優化,今天列印了幾頁perf...

ZigBee之初體驗

古人說 工欲善其事,必先利其器 簡單看懂原理圖還是有必要的,雖然自己幾乎沒有硬體基礎,短時期畫所謂的版子不具現實意義。晶元原理圖自從有人說u是晶元標誌,p是埠,c是電容,r是電阻,s是按鍵,led是led燈。後才漸漸明白 引腳標記相同的,學長說表示版子內部已連線,至於露在外面的引腳他們說是用來跳線用...