VC MFC 怎么设置窗口自适应分辨率。
可以调用::GetSystemMetrics(SM_CXSCREEN),::GetSystemMetrics(SM_CYSCREEN),返回横纵分辨率,然后根据分辨率改变...
可以调用::GetSystemMetrics(SM_CXSCREEN),::GetSystemMetrics(SM_CYSCREEN),返回横纵分辨率,然后根据分辨率改变窗口大小
改变窗口大小可以使用MoveWindow函数 展开
改变窗口大小可以使用MoveWindow函数 展开
展开全部
在某一种分辨率下窗口窗口的长宽比例应该是知道的。比如在1024*768分辨率下,窗口的宽高如果是a*b,则窗口宽高(用x,y表示)与分辨率的关系应该是:x=::GetSystemMetricsSM_CXSCREEN)*a/1024,y=::GetSystemMetrics(SM_CYSCREEN)*b/768,至于窗口的位置,其实也就是一个数学计算问题。计算的窗口的初始位置后,根据新的位置和长宽定义一个并初始化一个CRect变量,调用MoveWindow函数进行调整窗口即可。
更多追问追答
追问
不知道比例额,我窗口是用控件拖的,还有你说的是在初始化函数中写吗?谢谢。
追答
比例很好定呀,你现在在上面编写程序的电脑屏幕的分辨率就是初始分辨率,假设初始分辨率为j,k,此时窗口的宽高如果是a*b,则窗口宽高(用x,y表示)与分辨率的关系应该是:x=::GetSystemMetricsSM_CXSCREEN)*a/j,y=::GetSystemMetrics(SM_CYSCREEN)*b/k,如果是对话框,可以在对话框初始化函数里写,但是要把对话框属性设置为绝对对齐才起作用。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询