VC++面向对象与可视化程序设计 04 GUI - 图文 下载本文

画刷画刷的创建与应用与画笔很相似,操作画刷也包括创建、选入设备环境和删除。(1) 画刷的创建使用画刷需事先定义一个画刷句柄。形式如下:HBRUSH hBr; //hBr为画刷句柄然后调用函数GetStockObject获取Windows系统提供的7种画刷hBr=(HBRUSH)GetStockObject(nBrushStyle)画刷样式BLACK_BRUSHDKGRAY_BRUSHGRAY_BRUSHHOLLOW_BRUSHLTGRAY_BRUSHNULL_BRUSHWHITE_BRUSH黑色画刷深灰色画刷灰色画刷虚画刷亮灰色画刷空画刷白色画刷指定颜色画刷如何获得?可调用函数CreateSolidBrush和CreateHatchBrush创建画刷,创建具有指定颜色的单色画刷创建指定阴影图案和颜色的画刷hBr=CreateSolidBrush(rgbColor);hBr=CreateHatchBrush(int nHctchStyle, COLORREF rgbColor);HS_BDIAGONAL 45度从左上到右下HS_DIAGCROSS 45度叉线HS_FDIAGONAL 45度从左下到右上HS_CROSS垂直相交的阴影线HS_HORIZONTAL 水平阴影线HS_VERTICAL垂直阴影线(2) 选入设备环境创建画刷后,通过SelectObject(hdc,hBr);将其选入设备环境(3) 删除画刷不使用画刷时,可用DeleteObject(hBr);删除画刷,释放内存3. 颜色

Windows使用宏RGB定义绘图的颜色,其形式为:RGB(nRed, nGreen,nBlue)蓝色值RGB(0,0,255)绿色值RGB(0,255,0)红色值RGB(255,0,0)三、常用绘图函数1.设置画笔当前位置的函数MoveToEx,BOOL MoveToEx(HDC hdc,int X,Y,// X、Y分别为新位置的逻辑坐标LPPOINT lpPoint//存放原画笔位置的POINT结构地址)2.从当前位置向指定坐标点画直线的函数LineToEx,BOOL LineToEx(HDC hdc,int X,int Y) //X和Y为线段的终点坐标3.从当前位置开始,依次用线段连接lpPoints中指定的各点BOOL Polyline( HDC hdc,LPPOINT lpPoints, //指向包含各点坐标的POINT结构数组的指针int nCount// nCount为POINT数组中点的个数)