在做一个 显示图片的对话框,带滚动条,窗口可以用鼠标拖动改变大小。
做这样的操作:将窗口由小拖大,水平/垂直滚动条从有变成没有。这时我想用ScrollWindow(int xAmount, int yAmount)把图片居中。可是这个xAmount(yAmount)的值应该怎么得到啊?(因为 有滚动条,图片可能有一部分在窗口外面,而在外面的这部分有多少,没法得到。)

解决方案 »

  1.   

    在 OnSize 里处理即 WM_SIZE
      

  2.   

    在onsize()里怎么处理?
    ----------------------------------
    可能我问的不清楚。
    那我这样问:如何根据滚动条滑块的位置 得到 图片滚动了多少(即客户区滚动了多少)?
      

  3.   

    http://www.codeproject.com/bitmap/bmpscroll.asp
      

  4.   

    谢谢 lixiaosan(小三),不过这个不是我要的。我要的是窗口能拖放改变大小的。
      

  5.   

    在OnSize里计算客户区的大小 并和图片大小进行比较 重新设定ScrollRange 最后Invalidate(); 在OnPaint里判断四种情况 即图片的宽度和高度分别比客户区的宽度和高度大和小的时候 用StretchDIBits来画就可以了 不同的情况画在不同的区域 画图片相应的位置 就可以实现了
      

  6.   

    问题已经解决。以前用的是CScrollView,现在去掉了,滚动条和客户区的的滚动都自己实现,就没有开始的问题了。