只是想学习一点Win API。我试图制作一个基本的绘图应用程序,有点像MS Paint。
暂时我试图让一个功能工作,当你左键单击并在屏幕上拖动鼠标时,鼠标后面会画一条线。继承了我到目前为止所做的事情,但出于某种原因:
1)线条开始直接绘制而不是等待左键单击 2)线条不是很坚固。
case WM_MOUSEMOVE:
{
if(MK_LBUTTON){
hdc = GetDC(hwnd);
hPen = CreatePen(PS_SOLID,5,RGB(0, 0, 255));
SelectObject(hdc, hPen);
int x = LOWORD(lParam);
int y = HIWORD(lParam);
MoveToEx(hdc,x,y,NULL);
LineTo(hdc, LOWORD(lParam), HIWORD(lParam));
ReleaseDC(hwnd,hdc);
}
else
break;
}
}
感谢您的帮助!
答案 0 :(得分:1)
在WM_LBUTTONDOWN
上,您必须在程序中将变量设置为true
("是鼠标当前已关闭),在WM_MOUSEMOVE
中,然后检查该变量并且仅画它是true
。在WM_LBUTTONUP
上,您可以将该变量设置为false
。 (该变量应初始化为false)。