VC 深入詳解 學習筆記

2021-04-20 09:21:30 字數 1670 閱讀 7419

:1:

使用定義二進位制的值來定義相關的意義

如dword w = cs_hredraw | cs_vredraw

這樣就可以通過「或」運算來組合,同時要是不需要某個屬性可以通過 取反結合「與」

運算來實現dword w = cs_hredraw | cs_vredraw

dword h = w & ~cs_verdraw

2: loadicon(), loadcusor(),

如果想用標準的icon 或cusor 則第乙個引數為null

3:dc (裝置上下文)是為了解決不同平台驅動裝置而抽象的更高一層。 4

:messagebox()返回值 5

:如果if()判斷條件又常量時應該把它放在==的前面

如:if(4 == x)由於常量不能被賦值或改變所以可以使程式更健壯。 6

destrorywindow

()只是銷毀視窗並傳送wm_quit訊息但程式任再執行

postquitmessage

()是結束整個程式 7

:getmessage()

獲得wm_quit 返回0

獲得非wm_quit 返回非0

8: 全域性物件再執行winmain()函式之前就分配記憶體 9

:一般情況下this 指標是指向子類的 10

:cdocument 主要處理的是資料本省

cview

主要處理的是資料的顯示和修改 11

:mfc 的視窗中含有hwnd 成員,但他們的生命週期不一樣 12

:cview 類中可以響應訊息但cmainfram則不可,因為cview 總在 視窗的前面

13 引用和指標的區別

(1)引用 初始化

int a = 10

int c = 11

int& b = a (

必須再定義是就初始化int& b;b=a是錯誤的)

b = c

(只是把c的值賦給b 但是b任然是a 的引用)

二 :mfc 的訊息對映 1

: 一般情況下cview 和相關視窗關聯(cview物件的指標與該視窗控制代碼一一對應從而構成了c++對應表) 2

:視窗獲得訊息----》查詢c++對應表(獲得物件指標)----》把物件指標傳給程式框架視窗類基類-》呼叫---》winpro函式(是個虛函式由子類實現) 三:

1:若建立的dc 與 客戶區關聯則只能在客戶區中繪製

若。。。。。。框架視窗。。。。。整個框架(包括選單)。。。

2:構造gdi物件―――》選入dc中(selectobject()),在繪製後一般把先前選的gdi物件選入dc以便恢復該物件的先前狀態

cpen pen;

cpen* poldpen;

poledpen = pdc->selectobject(&pen);

。。。。。繪製。。。。。

pdc->selectobject(poldpen);

3:裝置描述表預設是白色畫刷 4

:靜態成員變數或函式,在類載入時就分配空間可以通過類名::成員函式/成員變數來訪問,但非靜態函式或變數只屬於特定的物件,必須產生物件後才能訪問,同時,靜態成員函式中不能呼叫非靜態成員,只能訪問靜態成員。 5

:記憶體模型在函式呼叫中的應用 6

:如果希望輸入的圖形或文字始終能顯示,就再wm_paint對應處理函式ondraw()中處理。

VC 深入詳解筆記 引用

int a 5 int b a 用 表示申明乙個引用。引用必須在申明時進行初始化考慮下面 int a 5 int b a int c 3 b c 此處並不是將b變成c的引用,而是給b賦值,此時b和a的值都變成了3 引用只是乙個別名,是乙個變數或物件的替換名稱。引用的位址沒有任何意義,是所引用的變數或...

《VC 深入詳解》筆記(一)

1,sendmessage 將訊息直接傳送給視窗,並呼叫視窗的視窗過程進行處理。等訊息處理完後,函式才返回 它傳送的訊息為不進隊訊息 postmessage 則是將訊息方到訊息佇列中就 返回了。postthreadmessage 函式用於給執行緒傳送訊息。2 下面這段 會出問題,當關閉程式後,會出現...

VC 深入詳解之C 筆記

一 類的繼承 假設有乙個動物類,他們都有呼吸,睡覺,吃飯 繼承起來就是這樣子的 class animal animal void eat void sleep void breathe 下面定義一條魚 class animal public animal fish 這樣魚就繼承了 animal 的e...