一个单文档的程序,当打开一幅图片时,如何让主窗口自动适合图片的大小

解决方案 »

  1.   

    先获取图片大小,然后用SetWindowPos等API,根据图片大小,来更改窗口大小
      

  2.   

    我也知道用setwindowpos阿,可是我试了不行啊,谁能说的具体点阿
      

  3.   

    给你点示例代码:CRect rtOld;
    GetWindowRect(rtOld);
    CPoint point = rtOld.TopLeft();
    CRect rtNew = CRect(point,CSize(380,253));  //这里的CSize里面的参数,就是图片象素大小  MoveWindow(rtNew);
    //下面就是根据图片大小,调整对话框大小
    ::SetWindowPos(GetSafeHwnd() , HWND_TOPMOST ,  rtNew.left ,rtNew.top , rtNew.Width() , rtNew.Height(), SWP_NOSIZE );
      

  4.   

    setwindowpos用在基于对话框的程序没问题,可是用在基于单文档的程序就不能改变整个窗口的大小了,是怎么回事啊
      

  5.   

    在OnSize里改变
    然后每次图片更换的话调用一次RecalcLayout
      

  6.   

    kevin_wang(砸锅卖铁) 你说的详细点好吗