MFC CScrollView派生类滚动条位置设置问题

我需要在类视图中框选一个区域,然后以框选的中心为基准显示在视图区的中心,我的思路是,先算出框中心点坐标,然后转换成逻辑坐标,除以框选前图像放大的倍率,再乘上现在要放大的倍率,减去客户区的一半,得到的结果用来设置滚动条的位置,但是出来的结果是,框选左上角的时候是正确的,框选右上角,左下角,右下角都不正确,求大神赐教啊!

http://blog.sina.com.cn/s/blog_65273bfa0100n3r8.html

这个跟用滚动条来浏览大图有点类似,codeproject上搜索一下scroll bar bitmap