CScrollView中的坐标问题

来源:互联网 发布:防sql注入的函数 编辑:程序博客网 时间:2024/05/19 20:45

        在调用派生类的OnDraw成员函数之前,CScrollViewCScrollViewCScrollViewCScrollView自动调整传递给OnDraw的 CPaintDC设备环境对象的视口原点。

       为了为滚动窗口调整视口原点,CScrollView重载CView::OnPrepareDC。这种调整对 于CScrollView传递给OnDraw的CPaintDC设备环境来说是自动的,但你必须为自己所使 用的其它设备环境(例如CClientDC)自己调用CScrollView::OnPrepareDC。

        以前总是不懂为什么CClientDC一定要用CRectangular来存储,因为本来就这么大,left和right肯定是0。这显然不正确,因为在CScrollView中调用CClientDC就可以看得,left和right就不是0,0。它得到的是经过变换后的相对于TotalSize的坐标。

原创粉丝点击