我在显示一幅位图时,用了滚动和缩放功能。现在的问题时,当需要显示的位图比较小,而窗口比较大时,窗口中只有一部分显示图像,其它部分是空白,我现在想自动控制窗口大小,使位图和窗口大小一致,不出现空白,但是考虑到图像纵横比锁定以及滚动条的显示和隐藏问题,这个问题一直没有解决好,不知有没有那位大小做过类似的工作,给我一些建议和参考?

解决方案 »

  1.   

    StretchBlt啊
    在缩放和滚动时都添加事件
    事件里面作StretchBlt应该可以实现你说的
      

  2.   

    不是特别明白你的意思,
    不过MoveWindow可以改变窗口的大小
      

  3.   

    在OnPaint里用StretchBlt而不是BitBlt显示位图StretchBlt(0,0,width,height,p_MDC,0,0,bm1.bmWidth   ,bm1.bmHeight   ,SRCCOPY);
      

  4.   

    {
      //获取位图大小nWidth,nHeight
      //MoveWindow( , ,nWidth,nHeight);
      //贴图,strethblt或者bitblt
    }
      

  5.   

    可以在得到了图片的大小之后对窗口使用MoveWindow(...)或者SetWindowPos(..)这样就可以了.