在800*600下设计的程序框架,在1024*768下不能全屏显示,
在640*480下,部分显示在屏幕外,如何解决???

解决方案 »

  1.   

    RECT rect,rect2;
    //移动窗口到桌面的右侧
    //此时取得的rect左上角是(0,0),估计是因为窗口刚创建
    //桌面窗口的左上角总是(0,0)
    this->GetDesktopWindow()->GetWindowRect(&rect);
    this->GetWindowRect(&rect2);
    rect2.left=rect.right-(rect2.right-rect2.left)-21;
    rect2.right=rect.right-21;
    rect2.top=rect.bottom/5;
    rect2.bottom=rect.bottom-rect.bottom/5;
    this->MoveWindow(&rect2);
    //调整窗口内的控件位置
    GetClientRect(&rect);
    MoveCtrl(rect.right,rect.bottom);rect1得到的事窗口坐标(像素),无论是1024x768或者800x600分辨率,rect1就是这个分辨率的值,rect2是你窗口的坐标(像素)调整他就可以了
      

  2.   

    检查屏幕属性..然后制定比例.
    每一个控件都应该有对应的MoveWindow((比例系数)*x,(比例系数)*y,(比例系数)*w,(比例系数)*h);