我在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个对话单元×12个对话单元。
它应该呈现为142 px x 24 px
取而代之的是,它被渲染得太小,为122px x 21px
这有没有给任何人任何线索?
发布于 2013-05-20 09:42:41
根据Hans的建议,问题出在DPI设置上。Win2k8系统的DPI值为96,win2k3系统的DPI值为120。
将win2k8上的DPI设置为120可以解决通过远程桌面登录时的问题,但是仍然存在一些问题,使citrix设置遵守此DPI设置,但我现在是在正确的轨道上。
谢谢大家
发布于 2013-05-16 14:19:57
看起来你已经安装了"Desktop Experience"。你可以卸载它,服务器将在“经典”模式下运行。
此外,你还可以玩“个性化设置”。打开控制面板\外观和个性化\显示并选择“使文本和其他项目变大或变小”。在那里您可以设置每个元素的大小。我建议您将所有内容都设置为100%。
此外,如果这不起作用,您可以在Win2k8中更改应用程序的兼容性,使其以Win2k3身份运行。
https://stackoverflow.com/questions/16579737
复制相似问题