当我在静态控件中双击时,我将在静态控件中的鼠标位置绘制椭圆。(MFC); 但是,它表明:
我的代码:
void CTreeShowLabel :: OnLButtonDblClk(UINT nFlags,CPoint point)
{
//设置画笔
COLORREF black = RGB(255,0,0);
CPen笔(PS_SOLID,1,黑色);
CClientDC Dc(GetDlgItem(IDC_TREESTATIC));
Dc.SelectObject(笔);
//在鼠标处画图
CPoint curPos;
GetCursorPos(&curPos);
CPoint point1(0,0);
point1.x = curPos.x - 50;
point1.y = curPos.y - 50;
CPoint point2(0,0);
point2.x = curPos.x + 50;
point2.y = curPos.y + 50;
//画圆
Dc.Ellipse(CRect(point1, point2));
CStatic::OnLButtonDblClk(nFlags, point);
}
关于Circle很糟糕。
答案 0 :(得分:0)
在OnLButtonDblClk事件捕获器中绘制椭圆似乎不太好。您应该创建自己的派生自CStatic的类并覆盖OnPaint方法。
然后从事件捕获器中你应该告诉静态它必须绘制椭圆和where(例如两个成员变量:bool m_bDraw / CPoint m_DrawingPoint)并在静态中调用Invalidate。