weixin_35838529
2018-04-18 06:55
采纳率: 85%
浏览 1.0k
已采纳

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 白色一大坨 2018-04-25 04:13
    已采纳

    需要计算屏幕的宽高以及你程序的宽高,进行对比后,获取一个缩放比例,之后用这个比例去修改你之前设计好的各个控件的位置。
    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;

    点赞 评论
  • blownewbee 2018-04-18 07:46

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

    点赞 评论

相关推荐 更多相似问题