利用GDI绘图

所有的绘图操作包括如下几种:利用API、用CDC对象、用CClientDC对象、用CWindowDC对象和CPaintDC;下面分别说明:
利用API来进行绘图操作,首先需要一个设备描述表(DC)句柄HDC,然后才能进行绘图操作,在绘图结束的时候要释放DC,基本操作如下:
HDC hdc=::GetDC(m_hWnd);//GetDC()需要一个指向窗体的句柄作为参数,也就是获得哪个窗体的DC
//下面进行绘图操作,画一条直线
MoveToEx(hdc,0,0,NULL);
LineTo(hdc,100,100);
//释放DC
::ReleaseDC(m_hWnd,hdc);//在这里需要使用全局函数标识符,不然编译会认为是调用了窗体对象的releaseDC()成员函数,从而产生错误
CDC:是其他设备描述表的基类。在这里可以进行所有的操作。CDC在一般情况下需要用当前窗口的CWnd::GetDC()函数进行初始化,即:
CDC *pDC=GetDC();//在任何一个窗口类中均可用该函数来初始化一个CDC类
在该类中,直接可以进行图形的绘制操作
pDC->MoveTo(CPoint(0,0));//如果没有这一句,仍可以画出直线,它将缺省以(0,0)点作为起始点
pDC->LineTo(CPoint(100,100));//如果要连续画直线,则缺省地将终止点作为第二条直线的起始点
pDC->LineTo(CPoint(200,300));//这样的操作也是可行的。
在该操作完成后,需要释放DC:
ReleaseDC(pDC);
CClientDC:作为CDC的一个子类,在构造函数中封装了GetD

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值