MFC中进行与绘图相关的控制,首先先为VIEW类添加一个成员变量 m_nDrawType,用来指定要画的图形 ,增长相应的菜单项用来绘制 点 直线 矩形 和 椭圆 在菜单项的响应函数中写下面的代码:函数
view plainthis
void CGraphicView::OnDot() url
{ spa
// TODO: Add your command handler code here .net
m_nDrawType = 1; code
} blog
void CGraphicView::OnLine() ip
{ get
// TODO: Add your command handler code here it
m_nDrawType = 2;
}
void CGraphicView::OnRectangle()
{
// TODO: Add your command handler code here
m_nDrawType = 3;
}
void CGraphicView::OnEllipse()
{
// TODO: Add your command handler code here
m_nDrawType = 4;
}
知道每种图形相应的序号,而后就要绘图,先是相应LBUTTONDOWM消息,记录下当前点,而后再响应 LBUTTONUP消息 进行绘图操做,代码以下:
void CGraphicView::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
m_ptOrigin = point;
CView::OnLButtonDown(nFlags, point);
}
void CGraphicView::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CClientDC dc(this);
CPen pen(m_nLineStyle,m_nLineWidth,m_clr);
dc.SelectObject(&pen);
CBrush *pBrush=CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH));
dc.SelectObject(pBrush);
switch(m_nDrawType)
{
case
更多详细介绍:http://url7.me/lvwE1