none
XPE下客户软件显示不全 RRS feed

  • 问题

  • 问题是:客户的应用软件在XPP下能够满屏幕显示,但是在XPE下显示不整,屏幕下面的一小部分会跑到屏幕外面不能显示出来,上面和左右两面正常显示
    我将XPE显卡驱动安装好,屏幕分辨率设置为800*600(客户软件需要此分辨率)BIOS里面也设置为800*600
    同时将XPP下的字体全部都拷贝到XPE下,为防止拷贝不能用,我在控制面板里字体下面将字体全部重新安装了一下,但软件显示还是不正常
    目前我不清楚问题出在哪里,请高手指点。

    2009年8月26日 9:05

答案

  • 应该是软件布局的问题,你可以从以下几个方面来检查这个问题:
    1. 如果软件是中文界面显示的,那么首先你的XPE是需要支持中文MUI语言包的;
    2. 其次添加完整的Font支持和Codepage支持,在XPE 2007和WES2009中,分别有两个宏组件来支持这两个功能:Fonts Application Compatibility和Codepage Application Compatibility;
    3. 如果你的应用程序是.Net Framework开发的,首先在开发环境下把你的所有使用字体设置为宋体,其次在开发环境中打开你的工程,把窗体的AutoScaleMode改为None;
    4. 最后你可以调整DPI的数值,来看看你的应用程序是否可以正常显示。
    lzg_ad
    2009年8月26日 10:09
    版主

全部回复

  • 应该是软件布局的问题,你可以从以下几个方面来检查这个问题:
    1. 如果软件是中文界面显示的,那么首先你的XPE是需要支持中文MUI语言包的;
    2. 其次添加完整的Font支持和Codepage支持,在XPE 2007和WES2009中,分别有两个宏组件来支持这两个功能:Fonts Application Compatibility和Codepage Application Compatibility;
    3. 如果你的应用程序是.Net Framework开发的,首先在开发环境下把你的所有使用字体设置为宋体,其次在开发环境中打开你的工程,把窗体的AutoScaleMode改为None;
    4. 最后你可以调整DPI的数值,来看看你的应用程序是否可以正常显示。
    lzg_ad
    2009年8月26日 10:09
    版主
  • XPE 的默认字体并不是宋体,因为XPE是ENU+MUI的形式。同样的标题栏的宽度等也有一下不同。
    解决方法:
    首先在一个中文的XP中,打开控制面板->显示,打开“外观”选项卡->点“高级”按钮外观。记下来里面的所有参数!
    在一个已经添加“显示”的XPE中,手工设置一下。
    之后又两种方法:
    1.在主题选项卡中,把修改后的外观保存成一个主题。
    此方法缺点:以后的XPE都需要添加“显示”来应用这个主题。
    2.修改后通过对比注册表的方式对比出那些注册表项目被修改,导出成注册表文件。最后制作成XPE的组件。
    此方法的缺点:操作比较复杂。

    另外:如果你添加了对韩文的MUI支持,那么语言使用韩文时,这种“变形”会加剧!要在设计程序的时候考虑到这种“变形”
    2009年8月26日 10:34
    版主
  • 同意,我们遇到的这样的问题,都是开发人员通过程序设置字体来解决的。
    2009年8月26日 16:48
  • 非常感谢LZG_ad问题已经解决:先在开发环境下把你的所有使用字体设置为宋体,其次在开发环境中打开你的工程,把窗体的AutoScaleMode改为None,即可。
    也非常感谢Happymy的解答,修改主题的方法我试过了不行,第二个方法太复杂,暂时没有时间测试。
    2009年8月27日 3:09
  • 看看是不是修改主题的方法是不是有一些错误?
    我习惯用方式2,XPE本地化和XPP一样。自己写的shell还好说,遇到别人写的又不肯返工的就郁闷了(明明交代对方用XP的英文版测试)
    ——
    2009年8月28日 12:06
    版主