我正在升级旧的MFC应用程序以支持4K显示器。根据我能找到的信息,CPropertySheetEx
“实现Wizard97样式功能”。这是一个具有上一个和下一个按钮以及横幅的对话框。
现在MFC在缩放此对话框方面做得很差,我不确定我对该对话框拥有什么控制权。
4K通常是200%缩放。标语的高度保持不变,为59像素(因此在4K显示器上太小了)。对话框的其余部分似乎已缩放到大约150%(宽度,高度)。
我在横幅上尝试过SetWindowPos
。这不会调整大小,并导致其他对话框问题。
代码中有此注释,这使我认为横幅是使用属性表动态构建的。
// If the page has a header, we need to paint the area above the border. // By inspection (Spy++), the border is a static control with ID 0x3027 CWnd* pTopBorder = GetDlgItem(0x3027);
任何建议或指南将不胜感激。
CPropertyPageEX
对话框来支持缩放?编辑- 横幅中的图标和文本可以调整大小和位置,只有横幅的高度似乎停留在50像素。
CPropertyPageEx
在MFC 11中定义为CPropertyPage
。它直接来自CWnd
。CPropertyPage
的源代码(atlmfc \ src \ mfc \ dlgprop.cpp)时,没有构造函数在其中创建按钮或横幅(因此我可能在错误的位置)。。