首先我们得搞出一支笔
笔的名字叫HPEN
HPEN CreatePen(
In int fnPenStyle,//笔样式
In int nWidth,//线条宽度
In COLORREF crColor//线条颜色
);
笔样式如下:
/* 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
#define PS_INSIDEFRAME 6
#define PS_USERSTYLE 7
#define PS_ALTERNATE 8
#define PS_STYLE_MASK 0x0000000F
#define PS_ENDCAP_ROUND 0x00000000
#define PS_ENDCAP_SQUARE 0x00000100
#define PS_ENDCAP_FLAT 0x00000200
#define PS_ENDCAP_MASK 0x00000F00
#define PS_JOIN_ROUND 0x00000000
#define PS_JOIN_BEVEL 0x00001000
#define PS_JOIN_MITER 0x00002000
#define PS_JOIN_MASK 0x0000F000
#define PS_COSMETIC 0x00000000
#define PS_GEOMETRIC 0x00010000
#define PS_TYPE_MASK 0x000F0000
#define AD_COUNTERCLOCKWISE 1
#define AD_CLOCKWISE 2
或者搞出一支刷子
刷子的名字叫HBRUSH
HBRUSH CreateSolidBrush(//实心
In COLORREF crColor
);
HBRUSH CreateHatchBrush(//阴影
In int fnStyle,//阴影样式
In COLORREF cirref//前景色颜色值
);
刷样式如下:
#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 12
然后把笔拿起来
拿笔的过程叫SelectObject
HGDIOBJ SelectObject(
In HDC hdc,//不用解释
In HGDIOBJ hgdiobj);//选用对象的句柄
调用则创建一个HGDIOBJ对象,使用完毕需要释放
释放的函数叫DeleteObject
BOOL DeleteObject(In HGDIOBJ hObject);
绘制的时候,使用MoveToEx设置画笔起点,使用LineTo设置画笔终点
BOOL MoveToEx(
In HDC hdc,
In int x,
In int y,
out LPPOINT lpPoint//一个POINT STRUCT 类型的指针,表示保留上一个点的位置,为NULL则不保存
);
BOOL LineTo(
In HDC hdc,
In int nXEnd,
In int nYEnd
);
绘制矩形
BOOL Rectangle(
In HDC hdc,
In int nLeftRect,
In int nTopRect,
In int nRightRect,
In int nBottomRect,
);