StretchBlt 函數 : 從源矩形中複製一個位圖到目標矩形,必要時按目標設備設置的模式進行圖像的拉伸或壓縮。函數
StretchBlt 函數的定義形式爲:spa
BOOL StretchBlt(int x, int y, int nWidth, int nHeight, CDC* pSrcDC,int xSrc, int ySrc, int nSrcWidth, int nSrcHeight, DWORD dwRop);
BOOL StretchBlt(HDC hdcDest, int nXOriginDest, int nYOriginDest, int nWidthDest, int nHeightDest, HDC hdcSrc, int nXOriginSrc, int nYOriginSrc, int nWidthSrc, int nHeightSrc, DWORD dwRop);3d
第一個參數:x:指定目標矩形左上角的x座標指針
第二個參數:y:指定目標矩形左上角的y座標code
第三個參數:nWidth:指定目標矩形的寬度orm
第四個參數:nHeight:指定目標矩形的高度對象
第五個參數:pSrcDC:指定原矩形的cdc索引
第六個參數:xSrc:指定源矩形左上角的x座標字符串
第七個參數:ySrc:指定源矩形左上角的y座標class
第八個參數:nSrcWidth:指定源矩形的寬度
第九個參數:nSrcHeight:指定源矩形的高度
第十個參數:dwRop:指定要執行的圖形操做。圖形操做代碼定義了GDI如何在輸出操做中組合顏色,其中包括當前畫筆、可能的源位圖和目標位圖。
這個參數能夠是如下值之一:
BLACKNESS 使全部輸出變爲黑色。
DSTINVERT反轉目標位圖。
MERGECOPY使用Boolean和運算符組合模式和源位圖。
MERGEPAINT使用OR操做符將反向源位圖與目標位圖組合在一塊兒。
NOTSRCCOPY將反向源位圖複製到目標。
NOTSRCERASE反轉使用OR操做符組合目標位圖和源位圖的結果。
PATCOPY將模式複製到目標位圖。
PATINVERT使用布爾XOR操做符將目標位圖與模式組合在一塊兒。
PATPAINT使用Boolean或運算符將反向源位圖與模式組合在一塊兒。使用OR操做符將此操做的結果與目標位圖組合在一塊兒。
SRCAND使用Boolean和操做符組合目標位圖和源位圖的像素。
SRCCOPY將源位圖複製到目標位圖。
SRCERASE反轉目標位圖,並使用Boolean和操做符將結果與源位圖組合。
SRCINVERT使用布爾XOR操做符組合目標位圖和源位圖的像素。
SRCPAINT使用OR操做符組合目標位圖和源位圖的像素。
WHITENESS 使全部輸出變爲白色。
DrawText 函數 : 初始化給定矩形中的文本。要指定其餘格式選項,請使用CDC::DrawTextEx。
DrawText函數的定義形式爲:
virtual int DrawText(LPCTSTR lpszString,int nCount,LPRECT lpRect,UINT nFormat);
第一個參數: lpszString : 指向要繪製的字符串。若是nCount爲-1,則字符串必須以null結尾。
第二個參數: nCount: 指定字符串中的字符數。若是nCount爲-1,則假定lpszString是指向以null結尾的字符串的長指針,DrawText自動計算字符計數。
第三個參數: lpRect: 指向包含要格式化文本的矩形(在邏輯座標中)的矩形結構或CRect對象。
第四個參數: nFormat: 指定格式化文本的方法。它能夠是Windows SDK中的DrawText中uFormat參數所描述的任何值的組合。(使用位或運算符組合):
int DrawText(const CString& str,LPRECT lpRect,UINT nFormat);
第一個參數: str: 包含要繪製的指定字符的CString對象。
第二個參數: lpRect: 指向包含要格式化文本的矩形(在邏輯座標中)的矩形結構或CRect對象。
第三個參數:nFormat: 指定格式化文本的方法。它能夠是Windows SDK中的DrawText中uFormat參數所描述的任何值的組合。(使用位或運算符組合):
CDC* pDC = CDC::FromHandle (lpDrawItemStruct->hDC); //獲取位置 CRect rectSubItem; GetSubItemRect(nItem, LINETYPE, LVIR_BOUNDS, rectSubItem); pDC->DrawText (strName.c_str(), rectSubItem, DT_SINGLELINE | DT_VCENTER | DT_END_ELLIPSIS | DT_NOPREFIX);
Draw3dRect 函數 :繪製一個三維矩形。
Draw3dRect函數的定義形式爲:
void Draw3dRect(LPCRECT lpRect, COLORREF clrTopLeft,COLORREF clrBottomRight);
第一個參數: lpRect : 指定邊框(以邏輯單元爲單位)。您能夠爲該參數傳遞指向RECT結構的指針或CRect對象。
第二個參數: 指定三維矩形的頂部和左側的顏色。
第三個參數: 指定三維矩形的底部和右側的顏色。
void Draw3dRect(int x,int y,int cx, int cy,COLORREF clrTopLeft,COLORREF clrBottomRight);
第一個參數: x: 指定三維矩形左上角的邏輯x座標。
第二個參數: y: 指定三維矩形左上角的邏輯y座標。
第三個參數: cx: 指定三維矩形的寬度。
第四個參數: cy: 指定三維矩形的高度。
第五個參數: clrTopLeft :指定三維矩形的頂部和左側的顏色。
第六個參數: clrBottomRight :指定三維矩形的底部和右側的顏色。
CImageList::DrawIndirect : 函數 繪製圖像列表。
DrawIndirect函數的定義形式爲:
BOOL DrawIndirect( CDC* pDC, int nImage, POINT pt, SIZE sz, POINT ptOrigin, UINT fStyle = ILD_NORMAL, DWORD dwRop = SRCCOPY, COLORREF rgbBack = CLR_DEFAULT, COLORREF rgbFore = CLR_DEFAULT, DWORD fState = ILS_NORMAL, DWORD Frame = 0, COLORREF crEffect = CLR_DEFAULT );
第一個參數: pDC:
第二個參數: nImage: 要繪製的圖像的從零開始的索引。
第三個參數: pt: 要繪製圖像的x和Y座標的點 。
第四個參數: sz: 指示圖像的大小.
第五個參數: ptOrigin 指定繪製操做的左上角
第六個參數: fStyle :指定繪製樣式。
第七個參數: dwRop: 指定要執行的圖形操做。
第八個參數: rgbBack : 圖像背景色,默認狀況下 CLR_DEFAULT:默認背景色。圖像繪製使用圖像列表背景色。 此參數能夠爲應用程序定義的RGB值或一個如下值:CLR_DEFAULT 和CLR_NONE:沒有背景色。 透明地繪製圖像。
第九個參數: rgbFore : 圖像前景色,默認狀況下 CLR_DEFAULT:默認前景色。 圖像繪製使用系統突出顯示顏色做爲前景顏色。。 此參數能夠爲應用程序定義的RGB值或一個如下值:CLR_DEFAULT 和 CLR_NONE: 沒有混合顏色。 圖像與目標dc的顏色相混合。
第十個參數: fState : 指定繪製狀態的標誌。 此成員能夠包含一個或多個圖像列表狀態標誌。
第十一個參數: Frame : ILS_SATURATE,該成員表示已添加到RGB三元色每一個顏色份量每一個像素的在圖標的值。 ILS_APLHA,該成員表示alpha通道的值。 此值能夠爲從0到255,0徹底透明和255是徹底不透明的。
第十二個參數: crEffect: 用於發光和陰影效果COLORREF 值。