windows备用画笔(stock pen) BLACK_PEN WHITE_PEN NULL_PEN
static HPEN hPen; //画笔句柄 WM_CREATE
hPen = GetStockObject (WHITE_PEN); //获取备用画笔
hPen = CreatePen (iPenStyle, iWidth, crColor); //创建画笔
iPenStyle 的种类
PS_SOLID
PS_DASH
PS_DASHDOT
PS_DASHDOTDOT
PS_NULL
PS_INSIDEFRAME
逻辑画笔
LOGPEN logpen; //有三个字段 lopnStyle 画笔样式 lopnWidth(一个POINT结构,windows仅用x字段设置宽度,y被忽略)画笔宽度 lopnColor颜色(COLORREF)
hPen = CreatePenIndirect (&logpen);
选用画笔 WM_PAINT
SelectObject (HDC hdc, hPen);
删除画笔 WM_DESTROY
DeleteObject (hPen);
SelectObject (hdc, CreatePen (PS_DASH, 0, RGB (255,0,0))); //函数会返回之前的画笔
所以删除可以用
DeleteObject (SelectObject (hdc, GetStockPen(WHITE_PEN)));
GetObject (hPen, sizeof (LOGPEN), (LPVOID) &logpen); //获取句柄为hPen的画笔的属性,存于logpen中
GetCurrentObject (hdc, OBJ_PEN); //获取当前被选入的画笔句柄
关于点式画笔和虚线画笔的空隙可以用函数
SetBkColor (hdc, crColor); //改变windows填充空隙的颜色
GetBkColor (hdc);
SetBkMode (hdc, TRANSPRAENT); //设置背景模式为透明,阻止windows填充空隙
static HPEN hPen; //画笔句柄 WM_CREATE
hPen = GetStockObject (WHITE_PEN); //获取备用画笔
hPen = CreatePen (iPenStyle, iWidth, crColor); //创建画笔
iPenStyle 的种类
PS_SOLID
PS_DASH
PS_DASHDOT
PS_DASHDOTDOT
PS_NULL
PS_INSIDEFRAME
逻辑画笔
LOGPEN logpen; //有三个字段 lopnStyle 画笔样式 lopnWidth(一个POINT结构,windows仅用x字段设置宽度,y被忽略)画笔宽度 lopnColor颜色(COLORREF)
hPen = CreatePenIndirect (&logpen);
选用画笔 WM_PAINT
SelectObject (HDC hdc, hPen);
删除画笔 WM_DESTROY
DeleteObject (hPen);
SelectObject (hdc, CreatePen (PS_DASH, 0, RGB (255,0,0))); //函数会返回之前的画笔
所以删除可以用
DeleteObject (SelectObject (hdc, GetStockPen(WHITE_PEN)));
GetObject (hPen, sizeof (LOGPEN), (LPVOID) &logpen); //获取句柄为hPen的画笔的属性,存于logpen中
GetCurrentObject (hdc, OBJ_PEN); //获取当前被选入的画笔句柄
关于点式画笔和虚线画笔的空隙可以用函数
SetBkColor (hdc, crColor); //改变windows填充空隙的颜色
GetBkColor (hdc);
SetBkMode (hdc, TRANSPRAENT); //设置背景模式为透明,阻止windows填充空隙