VC MFC 怎么设置窗口自适应分辨率。

可以调用::GetSystemMetrics(SM_CXSCREEN),::GetSystemMetrics(SM_CYSCREEN),返回横纵分辨率,然后根据分辨率改变... 可以调用::GetSystemMetrics(SM_CXSCREEN),::GetSystemMetrics(SM_CYSCREEN),返回横纵分辨率,然后根据分辨率改变窗口大小
改变窗口大小可以使用MoveWindow函数
展开
 我来答
归悦欣cf
2012-11-07 · TA获得超过1443个赞
知道大有可为答主
回答量:4250
采纳率:59%
帮助的人:1298万
展开全部
在某一种分辨率下窗口窗口的长宽比例应该是知道的。比如在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,如果是对话框,可以在对话框初始化函数里写,但是要把对话框属性设置为绝对对齐才起作用。
相思丶猫2C
2012-11-07 · TA获得超过1198个赞
知道小有建树答主
回答量:1432
采纳率:50%
帮助的人:944万
展开全部
你既已知晓,何须此问?
追问
知道分辨率,但是不知道该怎么算窗口的大小。
追答
在另外一贴已回复。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式