由于一个截图一个一个演示太麻烦啦 我直接把核心的代码给大家,按照上一篇划线的步骤,大同小异的做
就可以做出来了
5.4 画刷(填充作用) CBrush brush(RBG(255,0,0));
CClientDC dc(this);
dc.FillRect(CRect(起点,终点), &brush);
5.4.1 位图画刷
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);
CBrush brush(&bitmap);
CClientDC dc(this);
dc.FillRect(CRect(起点,终点), &brush);
5.4.2 默认画刷(白色)
CClientDC dc(this);
dc.Rectangle(CRect(起点,终点));
5.4.3 透明画刷
CClientDC dc(this);
CBrush *pBrush = CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH));
CBrush *pOldBrush = dc.SelelctObject(pBrush);
dc.Rectangle(CRect(起点,终点));
dc.SelectObject(pOldBrush);
5.5 连续画线
void onMouseMove(UINT nFlag, CPoint point){
CClientDC dc(this);
CPen pen(PS_SOLID, 2, RGB(0,255,0));
CPen *pOldPen = dc.SelectObject(&pen);
if(m_bDraw == TRUE){
dc.MoveTo(起点);
dc.LineTo(point)
起点 = point
}
dc.SelectObject(pOldPen);
}
• 画扇形
void onMouseMove(UINT nFlag, CPoint point){
CClientDC dc(this);
CPen pen(PS_SOLID, 2, RGB(0,255,0));
CPen *pOldPen = dc.SelectObject(&pen);
if(m_bDraw == TRUE){
dc.MoveTo(起点);
dc.LineTo(point)
dc.LineTo(上一个点)
上一个点 = point
}dc.SelectObject(pOldPen);
}
扇形我没有实现其实就是把画笔的 改一行代码就可以实现了
希望大家喜欢。点播关注,后面还有更多的关于 UNIX 服务器相关的编程 MFC,QT 的相关开发和应用,关于C++的知识点,数据结构和算法我都会一一的和大家一起分享.