我有一个经常使用并运行良好的MFC应用程序,它已经成为客户工作的重要部分,停机时间根本不能容忍。 问题是硬件有变化,旧的显示器被液晶显示器取代,所以MFC应用程序不适合所有显示器的大小,有一种方法可以简单地改变MFC设置并重新编译而不需要太多代码更改触发一个漫长的测试 - 修复 - 测试周期。
我很乐意使用第三方工具作为这个需要固定分辨率的MFC应用程序的容器,并给我像虚拟监视器这样的滚动条
由于
答案 0 :(得分:1)
没有代码更改的两个想法:
1)只需将桌面的分辨率设置为另一个值,使其与旧显示器上的相同。
2)更改对话框资源中的字体大小。这将改变整个对话框的大小。
代码更改:
1)在绘制到CDC之前,使用CDC::SetWorldTransform(const XFORM& rXform)
缩放CDC。
2)使用CDC::SetViewportExt(..)
,启用CreateWindow(..)
中的滚动条,并使用CDC::SetViewportOrg(..)
移动窗口内容来处理滚动事件。