vc++ 画图的问题
我在ONDRAW下可以用CPENCBRUSH画图但是在自定义的类里就不行了请高手帮忙看看,解决了加分在VIEW下有鼠标按下voidCZGchessView::OnLBut...
我在ONDRAW下可以用CPEN CBRUSH画图
但是在自定义的类里就不行了
请高手帮忙看看,解决了加分
在VIEW下有鼠标按下
void CZGchessView::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CQizi *pPt=new CQizi(point.x, point.y);
CDC *pDC = GetDC();
pPt->Draw(pDC);
ReleaseDC(pDC);
CView::OnLButtonDown(nFlags, point);
}
接着在我自定义的类CQizi里,
如果这样写是可以画的
void CQizi::Draw(CDC* pDC)
{
if(pDC==NULL)
{
return;
}
pDC-Ellipse(100,100,200,200);
}
这样就不行了!!!
void CQizi::Draw(CDC* pDC)
{
if(pDC==NULL)
{
return;
}
CPen newPen1(PS_SOLID,1,RGB(0,0,0));
CClientDC dc(this);
CPen *oldPen1=dc.SelectObject(&newPen1);
dc.MoveTo(100,100);
dc.LineTo(100,100);
dc.SelectObject(&oldPen1);
}
的确是画一个点,问题是不能运行,坐标是随意写的 展开
但是在自定义的类里就不行了
请高手帮忙看看,解决了加分
在VIEW下有鼠标按下
void CZGchessView::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CQizi *pPt=new CQizi(point.x, point.y);
CDC *pDC = GetDC();
pPt->Draw(pDC);
ReleaseDC(pDC);
CView::OnLButtonDown(nFlags, point);
}
接着在我自定义的类CQizi里,
如果这样写是可以画的
void CQizi::Draw(CDC* pDC)
{
if(pDC==NULL)
{
return;
}
pDC-Ellipse(100,100,200,200);
}
这样就不行了!!!
void CQizi::Draw(CDC* pDC)
{
if(pDC==NULL)
{
return;
}
CPen newPen1(PS_SOLID,1,RGB(0,0,0));
CClientDC dc(this);
CPen *oldPen1=dc.SelectObject(&newPen1);
dc.MoveTo(100,100);
dc.LineTo(100,100);
dc.SelectObject(&oldPen1);
}
的确是画一个点,问题是不能运行,坐标是随意写的 展开
2个回答
2009-10-15
展开全部
dc.MoveTo(100,100);
dc.LineTo(100,100);
这样就是画笔在原地没动嘛,试试这个:
dc.MoveTo(100,100);
dc.LineTo(200,200);
dc.LineTo(100,100);
这样就是画笔在原地没动嘛,试试这个:
dc.MoveTo(100,100);
dc.LineTo(200,200);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询