19,468
社区成员
发帖
与我相关
我的任务
分享
case WM_LBUTTONUP:
{
y.x = LOWORD(lParam);
y.y = HIWORD(lParam);
hdc = GetDC(hwnd);
Graphics hh(hdc);
Pen pen(Color(255,0,255,255));
pen.SetWidth(5);
pen.SetLineJoin(LineJoinMiterClipped);
GraphicsPath EndPath;
EndPath.AddLine(0,0,5,-10);
EndPath.AddLine(0,0,-5,-10);
EndPath.AddLine(5,-10,-5,-10);
CustomLineCap EndCap(NULL,&EndPath);
pen.SetCustomEndCap(&EndCap);
hh.DrawLine(&pen,x.x,x.y,y.x,y.y);
}
return 0;
case WM_LBUTTONDOWN:
x.x = LOWORD(lParam);
x.y = HIWORD(lParam);
return 0;
LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
HDC hdc;
static POINT x, y;
switch(uMsg)
{
case WM_LBUTTONUP:
{
y.x = LOWORD(lParam);
y.y = HIWORD(lParam);
hdc = GetDC(hwnd);
Graphics hh(hdc);
hh.SetSmoothingMode(SmoothingModeAntiAlias); //抗锯齿
Pen pen(Color(255,255,0,0));
pen.SetWidth(3);
AdjustableArrowCap cap(5,5,TRUE); //调整箭头(长度,宽度,是否闭合)
pen.SetCustomEndCap(&cap); //选定
hh.DrawLine(&pen,x.x,x.y,y.x,y.y);
ReleaseDC(hwnd, hdc);
}
break;
case WM_LBUTTONDOWN:
x.x = LOWORD(lParam);
x.y = HIWORD(lParam);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
}
return DefWindowProc(hwnd, uMsg, wParam, lParam);
}
LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
HDC hdc;
static POINT x, y;
Point pts[3] = {
Point(0, 0),
Point(2, -5),
Point(-2, -5),
};
Point pts1[3] = {
Point(0, 0),
Point(0, -5),
Point(0, -5),
};
switch(uMsg)
{
case WM_LBUTTONUP:
{
y.x = LOWORD(lParam);
y.y = HIWORD(lParam);
hdc = GetDC(hwnd);
Graphics hh(hdc);
Pen pen(Color(255,0,255,255));
pen.SetWidth(4);
GraphicsPath EndPath, EndPath1;
EndPath.AddPolygon(pts, 3);
EndPath.AddPolygon(pts1, 3);
EndPath.AddLine(0,-1,1,-5);
EndPath.AddLine(0,-1,-1,-5);
CustomLineCap EndCap(NULL,&EndPath);
pen.SetCustomEndCap(&EndCap);
hh.DrawLine(&pen,x.x,x.y,y.x,y.y);
ReleaseDC(hwnd, hdc);
}
break;
case WM_LBUTTONDOWN:
x.x = LOWORD(lParam);
x.y = HIWORD(lParam);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
}
return DefWindowProc(hwnd, uMsg, wParam, lParam);
}