在OnDraw中分别调用pDC和GetDC() 得到的结果可能不相同
pDC 所指的是视图初始的客户区DC
比如 视图是基于CFormView类的,其上设置了工具栏资源
则这些工具栏就是依赖pDC产生的, 这样,当滚动条左右移动时,工具栏资源也随之左右移动。
这是因为:滚动条移动时,当前窗口可见区的坐标发生变化,而工具栏资源是以PDC坐标为准的,因此,工具栏各个资源的坐标位置不变,而窗口坐标发生变化,这样就使得工具栏也有移动的效果
如果使用pDC来画图, 当滚动条右移时,可以发现,图片局限在原有的PDC坐标区域中,无法移动到新视图的右端
GetDC() 指的是: 获得当前可见窗口的DC,并将其坐标作为参照坐标,也就是可见窗口的左上角为DC的(0,0)点,这样,当用GetDC画图时,便会发现,无论滚动条如何移动,图片都不会发生变化。
自然,这是因为,无论滚动条如何移动,当前可见窗口的坐标都是相同的,画图时都是参照可见窗口的左上角(0,0)点进行的,因此每次画的图都一样
<