MFC的四种绘图方法

void CMyView::OnLButtonUp(UINT nFlags, CPoint point)
{
 // TODO: Add your message handler code here and/or call default

 /*利用API函数进行绘图*/
 方法一:
 HDC hdc;
 hdc=::GetDC(NULL);//对整个桌面
 hdc=::GetDC(m_hWnd);//获取窗口的设备描述表
 MoveToEx(hdc,m_Start.x,m_Start.y,NULL);//最后一个参数表示的是调用该函数之前坐标的位置,为NULL表示不用保存该值
 LineTo(hdc,point.x,point.y);//画线
 ::ReleaseDC(m_hWnd,hdc);//释放设备描述表
   
 
    /*利用API函数进行绘图结束*/

 

方法二:

 /*利用CDC封装类进行绘图,绘图的范围是视图区*/
/CDC *pDC=GetDC();//CWnd类的成员函数
 pDC->MoveTo(m_Start);//当前点移动到改点
 pDC->LineTo(point);//划线,从m_Start到point
 ReleaseDC(pDC);

方法三:
 

 /*利用CClientDC类绘图,注意不用获取设备描述表,也不用释放设备句柄*/
CClientDC dc(this);//这个是在视类画图
// CClientDC dc(GetParent());//这个是获取视类窗口的父窗口
 dc.MoveTo(m_Start);
 dc.LineTo(point);

 

方法四:

 /*CWindowDC类画图*/
 /*
// CWindowDC dc(this);//和客户区关联
//    CWindowDC dc(GetParent());//框架区都可以画图
 CWindowDC dc(GetDesktopWindow());//整个桌面都可以画图
 dc.MoveTo(m_Start);
 dc.LineTo(point);
*/
 /*CWindowDC绘图结束*/
 
 
 CView::OnLButtonUp(nFlags, point);
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值