MFC GDI相关对象

首先说明几个名词:

CDC 是MFC对Wind32 API的设备上下文(DC)进行封装的C++类,由他继承的类包括 CPaintDC(常用)CWindowDC(现在软件基本不用) CClientDC(少量临时地方使用)。

GDI 是图形设备接口,基类是CGdiObject。常用子类有 CPen(画笔),CBrush(画刷),CFont(字体),CBitmap(位图),CRgn(区域),CPalette(调色板)。

//CPen grammar
CPen myPen(PS_SOLID,4,RGB(255,0,0)); //Construct a CPen Object or use myPen.CreatePen() to construct it
dc.SelectObject(myPen);//Add pen resource to Current DC
dc.MoveTo(200,250);   // Draw a single line
dc.LineTo(300,300);

如何获得CPen对象的详细信息?比如Style?Width,Color?使用的是LPLOGPEN结构体和GetLogPen方法获得。

如果没有更换画笔,以后使用会沿用这种画笔的样式。

闭合和开放图像:

Polygon  PolyLine(多边形的最后两个点没有连接)

Chord Arc(椭圆的部分圆弧的起始点没有连接)

Rectangle,Ellipse  和 MoveTo LineTo

CFont可以设置字体的粗细/字体名/倾斜角/字宽等属性。

GDI使用完后最好恢复成默认系统值。

 设置背景模式为透明:SetBkMode(Transparent);

原文地址:https://www.cnblogs.com/ShalenChe/p/3626639.html