我刚刚将一个基于对话框的MFC程序从Visual Studio 6迁移到了Visual Studio 2013。 在VS 2013下编译后,该程序运行良好,没有任何主要问题。
唯一可见的区别是对话框边框的厚度(见下面在Windows 7下拍摄的屏幕截图)。
更多信息:
- 这不是一个清单问题,旧版和新版都严格相同。
- 在通过VS2012转换项目期间,.rc文件没有被破坏。 如果我再用VS6编译转换后的项目,我会得到细边框。
- 我可以通过Visual Studio 6中新生成的程序复现此问题。
- 使用
AfxMessageBox
显示的消息框在使用VS6编译时也具有细边框,在使用VS2013编译时具有厚边框。
SM_CXPADDEDBORDER
,这个参数在VS6发布时并不存在。很抱歉,我现在没有更多的信息,如果有的话,我会留下答案。如果有帮助的话,我认为VS6的边框太细了,而VS2013的边框是正确的。 - Mark RansomSM_CXPADDEDBORDER
已添加到Vista)关于窗口边框填充的大小。如果子系统版本>= 6.0,则可以获得真实信息。 - Cody Gray