pDC 与 GetDC() 区别

  在OnDraw中分别调用pDC和GetDC() 得到的结果可能不相同

 

   pDC 所指的是视图初始的客户区DC  

   比如 视图是基于CFormView类的,其上设置了工具栏资源

   则这些工具栏就是依赖pDC产生的,  这样,当滚动条左右移动时,工具栏资源也随之左右移动。 

   这是因为:滚动条移动时,当前窗口可见区的坐标发生变化,而工具栏资源是以PDC坐标为准的,因此,工具栏各个资源的坐标位置不变,而窗口坐标发生变化,这样就使得工具栏也有移动的效果

 

    如果使用pDC来画图, 当滚动条右移时,可以发现,图片局限在原有的PDC坐标区域中,无法移动到新视图的右端

 

   GetDC()  指的是: 获得当前可见窗口的DC,并将其坐标作为参照坐标,也就是可见窗口的左上角为DC的(0,0)点,这样,当用GetDC画图时,便会发现,无论滚动条如何移动,图片都不会发生变化。

   自然,这是因为,无论滚动条如何移动,当前可见窗口的坐标都是相同的,画图时都是参照可见窗口的左上角(0,0)点进行的,因此每次画的图都一样

 

   实在分不清的话 ,可以分别用PDC和GETDC测试下,做下对比,就清楚了 。

   简言之,滚动条左右滚动时,pdc所画图像,依然是参照初始的客户区

                                                    

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清水迎朝阳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值