MFC中GDI绘图

本文探讨了在MFC中如何利用GDI进行图形绘制,重点介绍了CDC类中的成员函数,这些函数用于创建和操作逻辑坐标系中的基本图形。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.MFC中与GDI有关的类


为了支持GDI绘图,MFC提供了两种重要的类:设备环境DC(Device Context)类,用于设置绘图属性和绘制图形;绘图对象类,封装了各种GDI绘图对象,包括画笔、刷子、字体、位图、调色板和区域。


二.MFC中GDI绘图


    GDI绘图包括以下步骤:获取设备环境,设置坐标映射,创建绘图工具,调用DC绘图函数绘图。


1、在MFC中,MFC提供了不同类型的DC类。


<1> CPaintDC构造函数:CPaintDC(CWnd* pWnd); 构造一个CPaintDC对象(pWnd指向一个CPaintDC对象所属的CWnd对象),准备用于绘画的应用程序窗口。


    void CView::OnPaint()
    {
       CPaintDC dc(this);
       // TODO: Add your message handler code here
       OnPrepareDC(&dc);
       OnDraw(&dc)
    }


<2>CClientDC构造函数:CClientDC(CWnd* pWnd); 构造一个CClientDC对象,它将存取pWnd指向的CWnd的客户区。


// 鼠标左键事件处理
    void CExView::OnLButtonDown(UINT nFlags, CPoint point)
    {
       // TODO: 在此添加消息处理程序代码和/或调用默认值
       CClientDC dc(this);//定义客户区设备环境
       dc.LineTo(point);//绘制线段
    }


<3>CWindowDC构造函数:CWindowDC( CWnd* pWnd );构造一个CWindowDC对象,它可以访问pWnd指向的CWnd对象的整个屏幕区域(包括客户区和非客户区)。比如我
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值