windows画图工具中的画直线是怎么实现的?
我用SDK编了个,但画了一条直线,画第二条的时候,要是碰到第一条线的话,会被摸去的!
网上查了下,发现这样一种方法,但还有问题,希望高人指点。
static POINTS begin, end;
switch (message)
{
case WM_LBUTTONDOWN:
begin = end = MAKEPOINTS(lParam);
break;
case WM_MOUSEMOVE:
if(wParam & MK_LBUTTON)
{
hdc = GetDC(hWnd);
HPEN hPen = CreatePen(PS_SOLID, 0, RGB(255, 0, 0));
SelectObject(hdc, hPen);
SetROP2(hdc, R2_NOT);
MoveToEx(hdc, begin.x, begin.y, NULL);
LineTo(hdc, end.x, end.y);
end = MAKEPOINTS(lParam);
MoveToEx(hdc, begin.x, begin.y, NULL);
LineTo(hdc, end.x, end.y);
ReleaseDC(hWnd, hdc);
}
break;
。。。。
颜色还是黑色的,我明明设了红色的啊!
怎么样才能达到和windows画图工具中一样的效果啊,这样实现颜色改不了啊!!