一、GDI的基础类
1、CDC类:CObject的直接派生类
(1)、用于获取DC句柄的函数GetDC():全新的临时默认DC,不能长期保存
CDC* GetDC();
(2)、用于获取DC安全句柄的函数GetSafeHdc():获取的DC句柄长期有效
HDC GetSafeHdc();
(3)、用于释放DC的函数Release DC():释放获取的DC
int ReleaseDC(CDC* pDc);
2、画笔类
(1)、使用构造函数创建初始画笔
CPen(
int nPenStytle,
int nWidth,
COLORREF crColor
);
nPenStyle:指定画笔的线条样式
nWidth:指定画笔线条宽度
crColor:设置画笔线条的颜色值(RGB)
(2)、用GreatPen()函数创建画笔对象
HPEN GreatPen(int fnPenStytle,int nWidth,COLORREF crColor)
(3)、用GetStockObject()函数直接创建画笔
HGDIOBJ GetStockObject(int fnObject)
(4)、用CreatPenIndrect()函数创建画笔
HPEN CreatePenIndrect(const LOGPEN* logopen)
//函数只有一个参数,指向一个LOGFPEN型结构体
typedef struct tagLOGPEN
{
UNIT lopnStyle;
POINT lopnWidth;
COLORREF lopnColor;
}LOGPEN;
3、画刷类(面色类)
(1)、使用构造函数初始化画笔
CBrush(
int fnStytle,
COLORREF crColor
)
(2)、利用CreateBrush()函数创建画刷
HBRUSH CreateHatchBrush(int fnStyle,COLORREF crColor)
(3)、用GetStockObject()函数直接创建画刷
(4)、使用CreatBrushIndirect()函数创建画刷
HBRUSH CreateBrushIndirect(CONST LOGBRUSH *lplb)
//函数参数指向LOGBRUSH结构体
typedef struct tag LOGBRUSH
{
UNIT lbStyle,
COLORREF lbColor,
LONG lbHatch
}LOGBRUSH;
4、字体类
(1)、利用CreateFont()函数创建字体
HFONT CreateFont(
int nHeight,int nWidth, //字体的逻辑高度和逻辑平均宽度
int nEscapement, //指定移位向量和设备x轴之间的一个角度,以1/10度为单位
int nOrientation, //指定每个字符的基线和设备x轴之间的角度
int fnWeight, //在0~1000之间指定字体的权值
DWORD fdwltatic, //如果设置为TRUE,则指定斜体
DWORD fdwUnderline, //如果设置为TRUE,则指定加下划线的字体
DWORD fdwStrikeOut, //如果设置为TRUE,则strikeout指定字体
DWORD fdwCharSet, //指