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 值。