主页 > 整理 | 学习笔记 > GDI+实现拖动画直线(橡皮筋效果)

GDI+实现拖动画直线(橡皮筋效果)

通过使用SetROP2函数清除上一条线来实现橡皮筋的效果,在OnMouseMove中的关键代码如下:

int nOldRop = SetROP2(m_MainMemdc, R2_NOTXORPEN);
HPEN hPen = CreatePen(PS_SOLID, 1, RGB(0x00, 0x00, 0xFF));
pdc->SelectObject(hPen);
m_MainMemdc.MoveTo(m_ptOrigin);
m_MainMemdc.LineTo(m_ptOld);
SetROP2(m_MainMemdc, nOldRop);
m_MainMemdc.MoveTo(m_ptOrigin);
m_MainMemdc.LineTo(m_ptCurrent);
DeleteObject(hPen);
m_ptOld = m_ptCurrent;

其中m_MainMemdc为双缓冲中的内存缓冲,m_ptOrigin, m_ptOld均为OnMouseDown中的point,m_ptCurrent为OnMouseMove中的point,pdc亦为m_MainMemdc。

Tags: GDI+ 拖动画线,橡皮筋

发表评论

邮箱地址不会被公开。 必填项已用*标注