网站建设 深度网,网络推广运营主要做什么,外贸seo网站建站,15年做哪个网站致富文章目录 HBrush对闭合图形的填充HBITMAP位图资源的加载和平铺填充CFont类常用功能与LOGFONT结构体CPen类简介 HBrush对闭合图形的填充
HBRUSH创建#xff1a; a)实色填充#xff1a;
HBRUSH CreateSolidBrush( COLORREF color);b)栅格线填充#xff1a;
HBRUSH CreateHa… 文章目录 HBrush对闭合图形的填充HBITMAP位图资源的加载和平铺填充CFont类常用功能与LOGFONT结构体CPen类简介 HBrush对闭合图形的填充
HBRUSH创建 a)实色填充
HBRUSH CreateSolidBrush( COLORREF color);b)栅格线填充
HBRUSH CreateHatchBrush( int iHatch, COLORREF color);c)平铺图填充
HBRUSH CreatePatternBrush( HBITMAP hbm);
HBITMAP hBitmap LoadBitmap(g_hInst, MAKEINTRESOURCE(IDB_LOGO));d)空填充可以创建前三种任何一种也可以创建第四种空中
HBRUSH CreateBrushIndirect( [in] const LOGBRUSH *plbrush);对应的CBrush
CBrush::CreateBrushIndirectInitializes a brush with the style, color, and pattern specified in a LOGBRUSH structure.CBrush::CreateDIBPatternBrushInitializes a brush with a pattern specified by a device-independent bitmap (DIB).CBrush::CreateHatchBrush //Initializes a brush with the specified hatched pattern and color.
CBrush::CreatePatternBrush //Initializes a brush with a pattern specified by a bitmap 图片
CBrush::CreateSolidBrush // Initializes a brush with the specified solid color. 实色
CBrush::CreateSysColorBrush // Creates a brush that is the default system color.CBrush::FromHandleReturns a pointer to a CBrush object when given a handle to a Windows HBRUSH object.CBrush::GetLogBrush // Gets a LOGBRUSH structure./* Hatch Styles */ 填充风格
#define HS_HORIZONTAL 0 /* ----- */
#define HS_VERTICAL 1 /* ||||| */
#define HS_FDIAGONAL 2 /* \\\\\ */
#define HS_BDIAGONAL 3 /* / */
#define HS_CROSS 4 /* */
#define HS_DIAGCROSS 5 /* xxxxx */
#define HS_API_MAX 12typedef struct tagLOGBRUSH {UINT lbStyle;COLORREF lbColor;ULONG_PTR lbHatch;
} LOGBRUSH, *PLOGBRUSH, *NPLOGBRUSH, *LPLOGBRUSH;CBrush br1;br1.CreateSolidBrush(0xffff00); //纯色填充dc.SelectObject(br1);dc.SelectObject(pOldPen); //默认pen 接近0的黑色dc.Pie(296, 80, 800, 400, 600, 134, 600, 400);LOGBRUSH lb{ BS_NULL };CBrush br3;br3.CreateBrushIndirect(lb);dc.SelectObject(br3);POINT pts[] { {40,200},{130,30},{300,250},{150,300} };dc.Polygon(pts, _countof(pts));HBITMAP位图资源的加载和平铺填充 CBitmap bitmap;bitmap.LoadBitmap(IDB_LOGO);CBrush br;br.CreatePatternBrush(bitmap); dc.SelectObject(br);dc.Rectangle(rect.left, rect.top, rect.right, rect.bottom);CFont类常用功能与LOGFONT结构体
CFont类的主要函数 a)CFont::CreateFont:参数太多没法用 b)使用结构体创建比较方便
BOOL CreateFontIndirect( const LOGFONT* lpLogFont );c)GetLogFont获取字体信息是以上函数的反函数。 d)简易创建函数他的大小是以上函数的十分之一所以调用时要乘以10。
CreateFont和CreateFontIndirect中间加Point。Requested font height in tenths of a point. (For instance, pass 120 to request a 12-point font.)typedef struct tagLOGFONT { LONG lfHeight; LONG lfWidth; LONG lfEscapement; //书写角度LONG lfOrientation; //基线角度LONG lfWeight; BYTE lfItalic; BYTE lfUnderline; BYTE lfStrikeOut; //删除线BYTE lfCharSet; //字符集表示 BYTE lfOutPrecision; //输出精度BYTE lfClipPrecision; //剪辑精度BYTE lfQuality; //字体质量BYTE lfPitchAndFamily; //字体的字符间距和族标识TCHAR lfFaceName[LF_FACESIZE]; //字体名称
} LOGFONT;CFont font;//font.CreatePointFont(100 * 3 / 2, _T(黑体)); //简易函数LOGFONT lf{ 15 * 3 / 2 };lf.lfItalic TRUE;lf.lfWeight 700;lf.lfCharSet GB2312_CHARSET;lf.lfEscapement 200;_tcscpy_s(lf.lfFaceName, LF_FACESIZE, _T(黑体));font.CreateFontIndirect(lf);auto pOldFont dc.SelectObject(font);//dc.SetBkMode(TRANSPARENT); //设置文字的透明色 //真透明 //dc.SetTextColor(0xff);dc.SetBkColor(0xffff00); //假透明dc.DrawText(_T(这世间本没有佛), rect, DT_CENTER|DT_VCENTER|DT_SINGLELINE);pOldFont-GetLogFont(lf);CPen类简介
CPen::CreatePen
Creates a logical cosmetic or geometric pen with the specified style, width,and brush attributes, and attaches it to the CPen object.CPen::CreatePenIndirectCreates a pen with the style, width, and color given in a LOGPEN structure,and attaches it to the CPen object.CPen::FromHandle //Returns a pointer to a CPen object when given a Windows HPEN.
CPen::GetExtLogPen //Gets an EXTLOGPEN underlying structure.
CPen::GetLogPen //Gets a LOGPEN underlying structure.
CPen::operator HPEN //Returns the Windows handle attached to the CPen object./* Pen Styles */
#define PS_SOLID 0 实线
#define PS_DASH 1 /* ------- */ 破折线
#define PS_DOT 2 /* ....... */ 点
#define PS_DASHDOT 3 /* _._._._ */ 点划线
#define PS_DASHDOTDOT 4 /* _.._.._ */双点划线
#define PS_NULL 5 无线条typedef struct tagLOGPEN {UINT lopnStyle; // 线条样式POINT lopnWidth; // 线条宽度COLORREF lopnColor; // 线条颜色
} LOGPEN, *PLOGPENCRect rect;GetClientRect(rect);CPen pen; //用来绘制边框的pen.CreatePen(PS_SOLID, 5, RGB(0, 255, 255));auto pOldPen dc.SelectObject(pen); //返回之前选入的画笔的句柄//绘图操作结束后会使用SelectObject函数将之前的画笔 重新选入 DC以保证 DC 的状态不受影响LOGPEN logPen;GetObject(pOldPen-GetSafeHandle(), sizeof(logPen), logPen);CPen p2;p2.CreatePen(PS_DOT, 1, 0xff00);dc.SelectObject(p2); dc.MoveTo(594, 31);dc.LineTo((196 710) / 2, (72 301) / 2);dc.LineTo(517, 414);