什麼是dc,dc有什麼用.
dc成為裝置描述符表. dc的作用就是可以進行繪製. 比如我們的視窗都是繪製出來的. dc可以簡單理解為.沒乙個視窗程式都有一塊記憶體用於繪製.我們只需要獲取這塊記憶體即可.
mfc 中 的cdc類 就是封裝了hdc 跟gdi函式. 並且派生出了四個不同場景下的類.
注意hdc 則是windows中真正的dc. 配合gdi函式進行操作繪製的. mfc只不過封裝了一下.
派生出來的類常用的有三個.
1.cpaintdc 使用者在視窗的客戶區畫圖. 僅限與onpaint處理程式. onpaint 就是乙個訊息處理函式.
2.cclieentdc 使用者在視窗客戶區畫圖.除了 onpaint外的任何處理程式. 除了訊息處理函式都可以進行操作
3.cwindowsdc 用於在視窗內任意地方畫圖.包括非客戶區. 任何乙個地方都可以編寫**操作.
比如我們的mfc框架中已經給我們寫好了這個處理函式.
**如下.
void我們也可以自己寫乙個.比如使用win32的知識畫一段字.ccdcdlg::onpaint()
else
}
hdc hdc = ::getdc(m_hwnd); //如果是mfc下.則用cpaintdc 傳入this即可.用於繪製的dc
paintstruct ps; //
儲存dc的資訊結構體
::beginpaint(m_hwnd, &ps);
::drawtext(hdc, text(
"hello
"), wcslen(text("
hello
")), crect(200, 200, 200, 200), dt_singleline);//
單行顯示
::endpaint(m_hwnd, &ps);
cclientdc則是可以不用再onpaint中使用.我們可以按鈕點選就使用了.
void上方**則是我們在客戶區畫個圓. 在我們點選之後.ccdcdlg::onbnclickedbutton1()
我們的cwindowsdc是一樣的.只不過比cclientdc用的更廣一點.
關於gdi函式.我們可以下乙個mfc類庫詳解. 有中文版的.或者你查詢msdn都可以.輸入你想用的dc類.則會出現對應函式.
常見的屬性可以用下圖表示.並且有對應的方法
我們可以通過這些方法設定跟獲取.
第一講 遞迴
遞迴 recursion 程式呼叫自身的程式設計技巧。遞迴滿足2個條件 1 有反覆執行的過程 呼叫自身 2 有跳出反覆執行過程的條件 遞迴出口 一 階乘 include using namespace std int recursive int i int main main 三 斐波那契數 inc...
矩陣第一講
特殊矩陣1.零矩陣 所有矩陣的所有元素全都為0 2.對角矩陣 乙個n階方陣除對角線上的所有元素都為0 2.數量矩陣 對角矩陣中對角線上元素為常數,3.單位矩陣 數量矩陣中對角線上上常數為1.4.行階梯矩陣 乙個矩陣的每個非零行 元素不全為零 的非零首元 第乙個非零元素 所在列的下標隨著行標的增大,並...
第一講 遞迴
遞迴 recursion 程式呼叫自身的程式設計技巧。遞迴滿足2個條件 1 有重複執行的過程 呼叫自身 2 有跳出重複執行過程的條件 遞迴出口 一 階乘 include using namespace std int recursive int i int main main 三 斐波那契數 inc...