1个回答
展开全部
最简单的是拖个Picture Control上去,Type设为Frame。如果要改变颜色可以将其跟一个CStatic绑定,然后重载OnCtlColor方法(WM_CTLCOLOR事件)
或者准备一张bmp格式矩形图片,拖Picture Control,Type设为Bitmap,image设为准备好的图片
如果要用GDI动态绘制的方式来做,可以使用CDC的LineTo方法和MoveTo方法绘制。e.g.
CPoint ptFrom, ptTo;
CClientDC dc(this); // 如果你放在OnPaint中,则此处应该是 CPaintDC dc(this);
CPen pnDraw(PS_SOLID, 1, RGB(0x66,0x66,0x66));
CPen* pnOld;
ptFrom.x = 5;
ptFrom.y = 5;
ptTo.x = 35;
ptTo.y = 5;
pnOld = dc.SelectObject(&pnDraw);
dc.MoveTo(ptFrom);
dc.LineTo(ptTo);
... //继续绘制
dc.SelectObject(pnOld);
pnDraw.DeleteObject();
用GDI的方式,为了显示性能(防止闪烁),可能还要考虑换成双缓冲
或者准备一张bmp格式矩形图片,拖Picture Control,Type设为Bitmap,image设为准备好的图片
如果要用GDI动态绘制的方式来做,可以使用CDC的LineTo方法和MoveTo方法绘制。e.g.
CPoint ptFrom, ptTo;
CClientDC dc(this); // 如果你放在OnPaint中,则此处应该是 CPaintDC dc(this);
CPen pnDraw(PS_SOLID, 1, RGB(0x66,0x66,0x66));
CPen* pnOld;
ptFrom.x = 5;
ptFrom.y = 5;
ptTo.x = 35;
ptTo.y = 5;
pnOld = dc.SelectObject(&pnDraw);
dc.MoveTo(ptFrom);
dc.LineTo(ptTo);
... //继续绘制
dc.SelectObject(pnOld);
pnDraw.DeleteObject();
用GDI的方式,为了显示性能(防止闪烁),可能还要考虑换成双缓冲
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询