CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  界面

显示图片的对话框 resize时,如何控制图片的位置?

楼主xaxx(豌豆多多)2006-07-04 10:42:16 在 VC/MFC / 界面 提问

在做一个   显示图片的对话框,带滚动条,窗口可以用鼠标拖动改变大小。  
  做这样的操作:将窗口由小拖大,水平/垂直滚动条从有变成没有。这时我想用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

相关问题

关键词

得分解答快速导航

  • 帖主:xaxx
  • aa3000
  • lixiaosan
  • ssbelle

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo