第三章 圖形和文字的輸出
為了達到裝置無關性,windows提供了gdi 圖形裝置介面,負責使用者繪圖
操作的轉換,使用者只需要和gdi提供的裝置環境打交道就行了。
裝置環境類
mfc提供,cdc,cpaintdc,cclientdc,cwindowdc和cmetafiledc
功能描述
cdc 所有裝置環境類的基類,對gdi所有的繪圖函式進行了封裝,可以直
接訪問顯示器或非顯示器,如印表機的上下文。
cpaintdc cpaintdc 用於響應視窗重繪訊息(wm_paint)的繪圖輸出,不僅
可對客戶區進行操作,還可以對非客戶區進行操作
cclientdc 代表視窗客戶區的裝置環境,一般在響應非視窗訊息並對客戶
區繪圖時要用到該類
cwindowdc 代表整個視窗的裝置環境,包括客戶區和非客戶區;除非要自
己繪製視窗邊框和按鈕,否則一般不用它
cmetafiledc 代表windows 圖元檔案的裝置環境;乙個windows 圖元檔案
包括一系列的圖形裝置介面命令,可以通過重放這些命令來建立圖形;對
cmetafiledc 物件進行的各種繪製操作可以被記錄到乙個圖元檔案中
獲取裝置環境
繪圖前,必須準備好裝置環境dc。裝置環境不像其他windows 結構,在程
序中不能直接訪問,只能通過系統提供的一系列函式或使用裝置環境的句
柄hdc 來間接地獲取或設定裝置環境結構中的各項屬性,這些屬性包括顯
示器高度和寬度、支援的顏色數及解析度等。
1,傳統的sdk
在wm——paint訊息處理函式中呼叫api函式beginpaint()
在訊息返回前呼叫api中的endpaint()釋放裝置環境,
如果不是在wm_paint訊息處理函式中,則通過api函式getdc()獲得裝置環
境,releasedc()釋放裝置環境
2,mfc獲取裝置環境的方法
一是接受乙個引數為指向cdc 物件的指標
二是宣告乙個 mfc 裝置環境類的物件,並使用this 指標為該物件賦值。
VC 基礎學習2
在工程中建立若干使用者定義的 標頭檔案.h 和源程式檔案.cpp 如果源程式檔案中有編譯預處理指令,則首先經過編譯預處理生成臨時檔案存放在記憶體,之後對臨時檔案進行編譯生成 目標檔案.obj 編譯後臨時檔案撤銷。所有的目標檔案經聯結器連線最終生成乙個完整的 可執行檔案.exe 下圖是乙個多檔案系統的...
redis基礎學習 開啟redis學習之路
一 redis資料型別 redis支援五種資料型別 string 字串 hash 雜湊 list 列表 set 集合 及zset sorted set 有序集合 1 string 字串 型別 string型別是redis最基本的資料型別,string型別是二進位制安全的。意思是redis的strin...
VC 學習筆記 基礎知識(二)
陣列的長度初始化 char szstr 12 34 char szstr2 1234 std cout sizeof szstr2 std endl std cout sizeof szstr2 std endl std cout std strlen szstr2 std endl std cou...