MFC中绘图的几种方式

   在孙鑫《vc++深入详解》中主要讲述了以下几种绘图方法,我稍稍总结了一下。

  1.在MFC中调用API函数实现绘图:

   void CMyView::OnLButtonDown(UINT nFlags, CPoint point) 

{
HDC hdc;

hdc=::GetDC(m_hWnd);

//m_hWnd:是CWnd类的一个成员变量,保存了窗口句柄

//GetDC():通过调用该全局函数获得当前窗口句柄

MoveToEx(hdc,10,10,NULL);

 LineTo(hdc,100,100);

::ReleaseDC(m_hWnd,hdc);

//此处GetDC()函数和Release()函数均为全局函数

CView::OnLButtonDown(nFlags, point);

}

     2.通过调用MFC类库函数绘图:

(1).void CMyView::OnLButtonDown(UINT nFlags, CPoint point) 

{


CDC *pDC=GetDC();

//获得当前窗口设备描述表对象指针

pDC->TextOut(100,100,"这样也可以!!");
  ReleaseDC(pDC);

//GetDC()函数和Release()函数均为CWnd类的类成员函数

CView::OnLButtonDown(nFlags, point);

}

(2).void CMyView::OnLButtonDown(UINT nFlags, CPoint point) 
{

CClientDC dc(this);

//CClientDC 类派生于CDC类,CDC类在定义时调用了GetDC函数,在析构时调用了ReleaseDC函数

dc.MoveTo(100,100);
dc.LineTo(200,200);
CView::OnLButtonDown(nFlags, point);

}

(3).void CMy3View::OnLButtonDown(UINT nFlags, CPoint point) 

{
CWindowDC dc(GetParent());

//CWindowDc类也派生于CDC类

//该类可以访问整个窗口区域,但必须调用GetParent()函数获取指向父类窗口的指针
dc.MoveTo(0,0);
dc.LineTo(point);
CView::OnLButtonDown(nFlags, point);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值