zoukankan      html  css  js  c++  java
  • 俄语UI资源的VC程序在英文版windows XP/windows 7俄语环境下乱码问题

    1 . 开发工具:VS2005/VS2008,VC++

    2. 环境:XP/Win7 英文版,区域设置为俄罗斯

    3. 程序:资源文件为俄文的com dll。

    现象:程序中很多动态创建的Combobox或ComboboxEx控件显示乱码,调试发现该控件没有默认的字体,调用GetFont返回NULL,于是在创建控件后调用SendMessage(WM_SETFONT, GetStockObject(DEFAULT_GUI_FONT), 1),运行程序发现大部分问题解决,个别控件还是有问题。于是用下面代码:

    1. 在类中声明一个CFont的成员变量m_font;

    2. 调用VERIFY(m_font.CreateFont(
       14,                        // nHeight
       0,                         // nWidth
       0,                         // nEscapement
       0,                         // nOrientation
       FW_NORMAL,                 // nWeight
       FALSE,                     // bItalic
       FALSE,                     // bUnderline
       0,                         // cStrikeOut
       ANSI_CHARSET,              // nCharSet
       OUT_DEFAULT_PRECIS,        // nOutPrecision
       CLIP_DEFAULT_PRECIS,       // nClipPrecision
       DEFAULT_QUALITY,           // nQuality
       DEFAULT_PITCH | FF_SWISS,  // nPitchAndFamily
       _T("Arial")));                 // lpszFacename

    3. 调用SetFont(&m_font)

    4. 问题解决。

    总结:测试中,只发现俄文有这样的问题,其他语言没有,怀疑是不是windows对俄语还是支持不好,抑或是Combobox控件默认情况下对俄语有bug,没有深入研究。

  • 相关阅读:
    SQL Server 阻止了对组件 'Ole Automation Procedures' 的 过程'sys.sp_OACreate' 的访问
    谷歌浏览器扩展程序manifest.json参数详解
    获取天气api
    UVA 10385 Duathlon
    UVA 10668 Expanding Rods
    UVALIVE 3891 The Teacher's Side of Math
    UVA 11149 Power of Matrix
    UVA 10655 Contemplation! Algebra
    UVA 11210 Chinese Mahjong
    UVA 11384 Help is needed for Dexter
  • 原文地址:https://www.cnblogs.com/hgy413/p/3693579.html
Copyright © 2011-2022 走看看