如何让VC下的窗口在不同的分辨率下都显示完整的界面

来源:百度知道 编辑:UC知道 时间:2024/05/31 12:56:48
在1024×768下设计好的窗口界面,换到分辨率为800×600的显示模式下后,窗口水平、竖直方向均产生滚动条(不期望出现)。希望在不同的分辨率条件下能自动缩放窗口,使所有的控件都显示出。
Re:
不行啊,我试过了,窗口到是大了,可是我的那些控件的位置和大小都没有改变,集中到了一角,太难看了。能不能解决这个问题。可以加分!!!期盼中...l...

在MainFrame里改.
把它放到return TRUE;的前面.
在PreCreateWindow中修改cs的样式.
cs.style=WS_OVERLAPPEDWINDOW;
cs.cx=::GetSystemMetrics(SM_CXSCREEN);
cs.cy=::GetSystemMetrics(SM_CYSCREEN);

用MoveWindow函数把所有控件的X和Y都移动到它现在显示的比(现在分辨率/正常显示分辨率)倍.

楼上说的好!我只补充一点:CxxFrame类与CxxView类中都有这个函数
PreCreateWindow.自已试一下吧.应改哪个,还是两个全改.
我先收藏!
==================================
兄弟,我说过了呀!
要在CxxFrame中改呀!这里改的是窗口大小
CxxView里改的是画布大小.
画布不可能超过窗口范围
--------------------------
昨天我也改了,不出错,在CxxFrame中
--------------------------------------
O!原来你指的是显示比例之自动缩放的问题呀.
我也想知道.呵,我先收蒧了!...
------------------------------
我帮抛个砖头给你,希望有高手看着来气,用玉来砸你.呵,我也好沾你点光.
映像模式中有两个,叫什么各向同性,各向异性的.
它是可以缩放的.你研究研究.这是一个方向.

你试试最大化显示
BOOL CMy222App::InitInstance()
{
m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED);
m_pMainWnd->UpdateWindow();

return TRUE;
}