0

我在 win2k3 citrix 上运行的遗留应用程序即将迁移到 win2k8 citrix。

在 win2k8 上进行测试时,我注意到在 2k3 上不明显的 UI 问题 - 按钮的标签不够宽,文本字段被截断等。

我注意到 Win2k3 默认字体是 Tahoma 而 2k8 使用 Segoe UI,不知道这是否是原因

这是一个仅托管我的应用程序的受控环境,因此更改 Windows UI 设置比重新设计我的所有窗口和对话框更可取。

如何使我的应用程序在 win2k8 上看起来与在 win2k3 上一样?

这是 rc 文件中我的登录对话框的示例。在 win2k8 上,文本“请输入您的用户 id”包含 2 行并隐藏在编辑框下。

IDD_LOGON DIALOG DISCARDABLE  0, 0, 545, 361
STYLE WS_POPUP | WS_VISIBLE
FONT 8, "Arial"
BEGIN
    LTEXT           "Welcome",IDC_USER_LOGON_HEAD1,368,192,140,19
    LTEXT           "Please enter your User ID",IDC_USER_LOGON_HEAD2,368,220,
                    118,14
    EDITTEXT        IDC_USER_LOGON_USER,368,236,81,12,ES_AUTOHSCROLL
    LTEXT           "and your password",IDC_USER_LOGON_HEAD3,368,260,118,14
    EDITTEXT        IDC_USER_LOGON_PASSWORD,368,276,81,12,ES_PASSWORD | 
                    ES_AUTOHSCROLL
    PUSHBUTTON      "OK",IDOK,368,316,50,14,WS_DISABLED
    PUSHBUTTON      "E&xit",IDCANCEL,424,316,50,14
END

编辑:

我通过拍摄上述对话框的一些屏幕截图做了一些进一步的调查。看来问题不在于文本大小错误-对话框控件中的问题太小了!

例如:

对于控制 IDC_USER_LOGON_PASSWORD,它是 81 个对话单元 x 12 个对话单元。

它应该被渲染为 142 像素 x 24 像素

相反,它被渲染得太小,为 122 像素 x 21 像素

这会给任何人任何线索吗?

4

2 回答 2

0

看起来您已安装“桌面体验”。您可以卸载它,服务器将以“经典”模式运行。

此外,您还可以使用“个性化设置”。打开控制面板\外观和个性化\显示并选择“使文本和其他项目变大或变小”。在那里您可以设置每个元素的大小。我建议您将所有内容设置为 100%。

此外,如果这没有帮助,您可以更改 Win2k8 中应用程序的兼容性以作为 Win2k3 运行。

于 2013-05-16T06:19:56.693 回答
0

正如 Hans 所建议的,问题出在 DPI 设置上。Win2k8系统DPI为96,win2k3系统DPI为120。

将 win2k8 上的 DPI 设置为 120 可以解决通过远程桌面登录时的问题,但是在获取 citrix 设置以尊重此 DPI 设置时仍然存在一些问题,但我现在走在正确的轨道上。

感谢大家

于 2013-05-20T01:42:40.540 回答