显示图片的对话框 resize时,如何控制图片的位置?
在做一个 显示图片的对话框,带滚动条,窗口可以用鼠标拖动改变大小。
做这样的操作:将窗口由小拖大,水平/垂直滚动条从有变成没有。这时我想用ScrollWindow(int xAmount, int yAmount)把图片居中。可是这个xAmount(yAmount)的值应该怎么得到啊?(因为 有滚动条,图片可能有一部分在窗口外面,而在外面的这部分有多少,没法得到。)
问题点数:20、回复次数:6Top
1 楼aa3000(杀手K)回复于 2006-07-04 10:57:11 得分 2
在 OnSize 里处理
即 WM_SIZETop
2 楼xaxx(豌豆多多)回复于 2006-07-04 14:06:05 得分 0
在onsize()里怎么处理?
----------------------------------
可能我问的不清楚。
那我这样问:如何根据滚动条滑块的位置 得到 图片滚动了多少(即客户区滚动了多少)?Top
3 楼lixiaosan(小三)回复于 2006-07-04 14:10:05 得分 8
http://www.codeproject.com/bitmap/bmpscroll.aspTop
4 楼xaxx(豌豆多多)回复于 2006-07-04 14:28:25 得分 0
谢谢 lixiaosan(小三),不过这个不是我要的。我要的是窗口能拖放改变大小的。Top
5 楼ssbelle(沉默的骆驼)回复于 2006-07-04 14:54:15 得分 10
在OnSize里计算客户区的大小 并和图片大小进行比较 重新设定ScrollRange 最后Invalidate(); 在OnPaint里判断四种情况 即图片的宽度和高度分别比客户区的宽度和高度大和小的时候 用StretchDIBits来画就可以了 不同的情况画在不同的区域 画图片相应的位置 就可以实现了Top
6 楼xaxx(豌豆多多)回复于 2006-07-06 18:02:14 得分 0
问题已经解决。以前用的是CScrollView,现在去掉了,滚动条和客户区的的滚动都自己实现,就没有开始的问题了。Top




