MFC Window程序设计(第二版)精华浓缩笔记(二)

各位,看一看,瞧一瞧,新出炉的...大拍卖喽!

第二章、在窗口中画图

精华浓缩

         Windows中负责图形输出的是GDI(即Graphic Device Interface,图形设备接口)。这是Windows与硬件无关的图形输出模式的体现。GDI建立在硬件抽象层(HAL)之上,屏蔽了不同输出设备之间的差异,从而为用户提供了一个统一的“标准输出设备”。但是,与DOS不同,Windows是多任务、进程独立的,每一个窗口都应该有一个独立的输出通道。这样,GDI又使用了一种简单的机制来保证在窗口中画图的不同程序之间能共享“设备”而又互不干扰。这个机制就是DC(Device Context,设备描述表)。
     有人把DC比喻成画家的画室,这里有画布、画刷、画笔等等很多工具。

     就画布而言,画布形式可以不同,是的,我可以在桌上(desktop)的纸上(window)画,也可以就画在桌面上,还可以画在墙上(管的着吗!^_^)。
     为此,Windows MFC提供了四种不同的DC环境(封装为C++类),以标明不同的绘制权限,即:
        CPaintDC, 用于在窗口客户区画图(仅限于在OnPaint处理函数中使用);
        CClientDC, 也用于在窗口客户区画图(限于在OnPaint处理函数之外使用);
        CWindowDC, 用于在窗口内任意地方画图,包括非客户区;
        CMetaFileDC, 用于绘制GDI图元文件。

     这些类都可以直接实例化,如:
       CPaintDC dc(this);//this

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值