我在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像素×24像素
相反,它被渲染得太小,为122像素×21像素
这会给任何人提供任何线索吗?
答案 0 :(得分:0)
看起来您安装了"Desktop Experience"。您可以将其卸载,服务器将以“经典”模式运行。
此外,您还可以使用“个性化设置”。打开控制面板\外观和个性化\显示,然后选择“使文本和其他项目更大或更小”。在那里你可以设置每个元素的大小。我建议你把所有东西都设置为100%。
此外,如果这没有帮助,您可以更改Win2k8中应用程序的兼容性以作为Win2k3运行。
答案 1 :(得分:0)
正如Hans所说,问题是DPI设置。 Win2k8系统的DPI为96,win2k3系统的DPI为120.
将win2k8上的DPI设置为120可以解决通过远程桌面登录时出现的问题,但是仍有一些问题需要让Citrix设置尊重这个DPI设置,但我现在正走在正确的轨道上。
谢谢大家