1.Windows程序的運行本質:基於消息,事件驅動(Message Based,Event Driven).
2.程序調用GetMessage API循環獲取消息,程序的生命靠它來推進.
MSG msg;
while (GetMessage(&msg, NULL, NULL, NULL)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
3.WinMain 的四個參數由操做系統傳遞進來.
int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
4.TranslateMessage 是爲了將鍵盤消息轉化,DispatchMessage 會將消息傳給窗口函數去處 理.DispatchMessage 通過USER 模塊的協助,才把消息交到窗口函數.
5.Call back 函數,意思是指[在你的程序中,被Windows系統調用]的函數。這些函數雖然由你設計,可是永遠不會也不應被你調用,它們是爲Windows系統準備的.
LRESULT CALLBACK WndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam)
6.WndPro函數的Switch的default必須調用:DefWindowProc,這是Windows內部預設的消息處理函數.
7.Message Map:消息或系統命令在列表中綁定通用格式的函數(函數指針),在WndPro中對消息或系統命令對比,調用相應的綁定函數.
8.Modal對話框的激活與結束,靠的是DialogBox和EndDialog兩個API函數.處理過消息以後,應該傳回TRUE;若是未處理消息,則應該傳回FALSE.
9.執行線程的結束有兩種狀況,一種是壽終正寢(ExitThread),一種是未得善終(TerminateThread).
10.執行線程的優先權範圍從0(最低)到31(最高).
11.由行爲決定設計,怎麼用從而怎麼達到目的的設計結構.
12.[對象,封裝,類][繼承,衍生,子類繼承父類全部的成員變量和函數][虛函數表明衍生,繼承函數接口,變異函數內容]
13.調用父類別的函數,你必須使用scope resolution operator(::)明確指出.
14.(虛函數除外)調用到哪一個函數,必須視指針的原始類型而定,與指針實際所指之對象無關.
15.若是你預期衍生類別有可能從新定義某一個成員函數,那麼你就在基礎類別中把此函數設爲virtual.
16.相同的指令卻喚起了不一樣的函數,這種性質稱爲Polymorphism(多態).Polymorphism的目的,就是要讓處理[基礎類別之對象]的程序代碼,可以徹底透通地繼續適當處理[衍生類別之對象].
17.純虛擬函數不需定義其實際動做,它的存在只是爲了在衍生類別中被從新定義,只是爲了提供一個多態接口.
18.虛擬函數衍生下去仍爲虛擬函數,並且能夠省略virtual 關鍵詞.
19.靜態Static成員變量在類外初始化,獨立於對象以外.static 成員函數[沒有this 參數]的這種性質,不須要藉助任何對象,就能夠被調用執行.
20.C++的template有兩種,一種針對function,另外一種針對class.
21.在程序的任何地方放置TRACE宏,例如:TRACE("Hello World");
22.CObject是萬類之首,凡類別衍生自CObject者,得以繼承數個對象導向重要性質.
23.AfxOutputDebugString 將字符串輸往Debug調試器.
24.CWinApp表明程序本體.CFrameWnd表明一個主框窗口(Frame Window).
25.要把某個函數用做callback 函數,就必須告訴C++ 編譯器,不要放this指針做爲該函數的最後一個參數。兩個方法能夠作到這一點:1. 不要使用類別的成員函數(也就是說,要使用全域函數)作爲callback 函數。2. 使用static 成員函數。也就是在函數前面加上static修飾詞。
26.凡聲明爲static 的東西(無論函數或變量)都並不和對象結合在一塊兒,它們是類別的一部份,不屬於對象。
27.有關文件讀寫的動做在CDocument 的Serialize 函數進行,有關畫面顯示的動做在CView 的OnDraw或OnPaint 函數進行。
28.任何一個類別只要在聲明時使用DECLARE_DYNAMIC或DECLARE_DYNCREATE 或DECLARE_SERIAL宏,就會擁有一個靜態的(static)CRuntimeClass 內嵌對象。
29.執行線程函數的執行期,也就是該執行線程的生命期。函數