显示一幅图片,拖动了滑动条,此时我选择放大,如何实现 看到的是当前所看图片部分的放大?
我借助了 GetClientRect 作为图片显示区域,因此总是显示图片的左上部分的放大,要继续拖动滑条才能看到其他部分

解决方案 »

  1.   

    CWindow myWindow;
    myWindow.Attach(hWndFoo);
    RECT rc;
    myWindow.GetClientRect(&rc);
      

  2.   

    StrechBlt也是映射到当前Client Area的某一部分呀楼上的: hWndFoo是啥东西?
      

  3.   

    建议动态创建内存位图,滑动条消息响应时用销毁原有的内存位图,并创建放大后的内存位图
    再使用内存DC StreatchBlt 绘制到内存位图
    滚动条拖动的消息中只需要 BitBlt 函数左上角坐标位置变更就可以了
      

  4.   

    楼主不就是要图片某一部分的放大图吗?
    StrechBlt也和BitBlt一样,可以显示图片的某一部分呀,具体要显示哪一部分,可以在参数里指定。
      

  5.   

    StrechBlt
    是将原图的一个rectangle copy到目标client的一个rectangle
    如果你rectangle定位在你想扩大的地方,copy到一个大rectangle 
    不就放大了