MFC界面在不用显示器上的正常显示问题

用VS2012编写的MFC界面,C++,希望能够在不同尺寸的显示器上都能正常显示,界面有按钮,teechart等空间,望大神指点一二。

2个回答

需要计算屏幕的宽高以及你程序的宽高,进行对比后,获取一个缩放比例,之后用这个比例去修改你之前设计好的各个控件的位置。
CRect rect;
GetWindowRect(rect);//当前程序界面宽高
m_nScreenWidth = GetSystemMetrics(SM_CXSCREEN);//分辨率宽高
m_nScreenHeight = GetSystemMetrics(SM_CYSCREEN);
double dScaleX = (double)m_nScreenWidth / (double)bm.bmWidth;//xy两个方向的比例
double dScaleY = (double)m_nScreenHeight / (double)bm.bmHeight;

可以在OnSize里面调整控件的位置和大小,使得它们都出现在合适的位置。比如说按钮按照下边和左边边距对齐,teechart按照屏幕的长宽缩放。具体看你的需要了。

phenix2009
白色一大坨 回复weixin_35838529: 老兄,解决了,来结贴啊
大约 2 年之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复weixin_35838529: 用showwindow(sw_maxmize)最大化,那么你的窗口的尺寸就是了,用getwindowrect获取
大约 2 年之前 回复
weixin_35838529
weixin_35838529 回复Q_155132206买实惠C币: 如何获取屏幕尺寸信息
大约 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐