最近因為要做乙個專案所以必須要學習mfc,那麼以下就是我覺得mfc裡面非常重要的東西。
當然,都是入門級的...
1.作業系統把他所能夠完成的功能以函式的形式提供給應用程式使用,應用程式對這些函式的呼叫就叫做系統呼叫。
2.作業系統是靠訊息機制將感知到的事件傳遞給應用程式的。作業系統將每個事件都包裝成乙個稱為訊息的結構體。
3.控制代碼是資源的標識,作業系統要管理和操作這些資源,都是通過控制代碼來來找到對應的資源。控制代碼分為圖示控制代碼,游標控制代碼,視窗控制代碼...
4.以wm_開頭的函式都是巨集定義的即windows message
5. 在winmain函式(程式入口)函式呼叫之前,先進行建構函式,因為要先分配空間。
6.帶afx的函式是屬於應用程式框架的函式,都是全域性函式。
7.view類始終是覆蓋在mainframe類之上的。相當於兩面牆,view總是擋在mainframe這面牆前面,而操作永遠實在前面這面牆上的。
8.(mfc的訊息對映機制):首先要知道mfc在後台有乙個控制代碼和物件指標的乙個對照表。一旦有訊息發生時,因為訊息是和乙個視窗相關的。就會通過控制代碼找到對應的c++物件的指標,將指標傳給基類,然後基類通過訊息迴圈,呼叫windowproc函式來對訊息進行處理。而windowproc函式是個虛函式,所以當子類繼承cwnd類的時候都會有windowproc函式,它會通過訊息種類去查詢對應的訊息對映。而在windowproc中,真正處理訊息的是onwndmsg函式。onwndmsg函式會進行乙個判斷,看該訊息有沒有對應的訊息響應函式。判斷方式是1.到c++標頭檔案中看在declare_message_map之上有沒有訊息響應函式的宣告。2.在原始檔中begin_message_map和end_message_map之間有沒有巨集。如果找到了訊息響應函式,最終就會呼叫該函式,對訊息進行處理。
9.mfc把所有與作圖相關的操作放在了cdc類裡面。
10.mfc常用rbg值
colour red green blue
黑色 0 0 0
白色 255 255 255
灰色 192 192 192
深灰色 128 128 128
紅色 255 0 0
深紅色 128 0 0
綠色 0 255 0
深綠色 0 128 0
藍色 0 0 255
深藍色 0 0 128
紫紅色 255 0 255
深紫紅 128 0 128
紫色 0 255 255
深紫 0 128 128
黃色 255 255 0
棕色 128 128 0
11.(--------引用他人的部落格-------)關於dc和selectobject()函式
以畫畫舉例,
畫畫的環境,就是dc。
在畫畫的環境中,有哪些物件呢?
畫布,區域,顏料盒(調色盤)
,字型,
刷子,位圖。
現在開始畫畫了,你拿起了乙隻筆。——在windows環境裡,這叫選擇了乙個畫筆物件:使用selectobject函式。當然,如果你沒帶筆也沒關係,windows為你準備了幾隻畫筆,你可以這樣申請系統提供的預設畫筆:hpen = getstockobject(white_pen);
如果你畫著畫著,覺得手中的筆用著不爽,可以換乙隻啊——依舊是selectobject()換筆。
若是畫完一部分大樹,準備畫藍色的天空,當你畫完天空後繼續畫另一部分大樹你得需要把畫筆的顏色換回原先畫大樹的顏色。——你需要用selectobject(m_poldpoint)選回原先的顏色。
當然,如果你走出了畫室,別忘了把你的畫筆清除掉
,要不畫室裡全是筆啊,刷子啊,太亂了。——deleteobject()
MFC學習筆記( )
選單響應順序 view類 文件類 框架類 應用程式類 訊息分類 標準訊息 除wm command之外,所有以wm 開頭的訊息。從cwnd派生的類,都可以接收到這類訊息。命令訊息 來自選單 加速鍵或工具欄按鈕的訊息。這類訊息都以wm command呈現。在mfc中,通過選單項的標識 id 來區分不同的...
MFC學習筆記
1.oncreate函式目前來看只執行了一次 2.對於隱藏的this指標,不是類中的函式成員。當在類的非靜態成員函式中訪問類的非靜態成員的時候,編譯器會自動將物件本身的位址作為乙個隱含引數傳遞給函式 也就是說,即使你沒有寫上this指標,編譯器在編譯的時候也是加上this的,它作為非靜態成員函式的隱...
MFC 學習筆記
作業 用單文件檢視完成左鍵使圓圈變小,右鍵使圓圈變大,按住ctrl的同時移動滑鼠使圓圈跟著移動。document處理頁面的資料 view呈現和互動。on wm lbuttonup等滑鼠訊息帶著uint nflags 掩碼 引數,記錄滑鼠訊息的同時的附加資訊 比如ctrl或shift鍵 在initin...