对常用控件的本地化支持

本主题介绍对内置于公共控件中的国家语言的支持。 内置的国家语言支持可简化本地化应用程序的实现。

指定公共控件的语言

如果要为与系统语言不同的公共控件指定语言,请调用 InitMUILanguage。 此函数指定的语言仅适用于从中调用函数的进程。

若要确定公共控件当前使用的语言,请调用 GetMUILanguage。 返回上一次调用 InitMUILanguage 设置的值。 返回的语言是为其调用的进程指定的语言。 如果未调用 InitMUILanguage 或从另一个进程调用,GetMUILanguage 将返回默认值。

在对话框中指定控件的语言

与公共控件不同,预定义控件(如按钮或编辑框)默认不使用当前系统语言。 本机字体控件是一个在后台工作的不可见控件,允许对话框的预定义控件显示当前系统语言。

若要使用本机字体控件,请遵循此过程。

  1. 通过调用 InitCommonControlsEx 初始化本机字体控件。 将 lpInitCtrls 指向的 INITCOMMONCONTROLSEX 结构的 dwICC 成员设置为 ICC_NATIVEFNTCTL_CLASS。

  2. 将控件添加到对话框的资源脚本。 设置以下一个或多个样式标志以指定哪些控件将受到影响。

    <style type="text/css"> .tg {border-collapse:collapse;border-spacing:0;} .tg td{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px; overflow:hidden;padding:10px 5px;word-break:normal;} .tg th{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px; font-weight:normal;overflow:hidden;padding:10px 5px;word-break:normal;} .tg .tg-0pky{border-color:inherit;text-align:left;vertical-align:top} </style>

    标记 适用于
    NFS\_EDIT 编辑控件
    NFS\_STATIC 静态控件
    NFS\_LISTCOMBO List、ComboBox、List-View 和 ComboBoxEx 控件
    NFS\_BUTTON 按钮控件
    NFS\_ALL 所有控件
    NFS\_USEFONTASSOC 东亚平台。 控件使用字体关联功能,而不是切换到本机字体。 所有其他平台都忽略它。 Windows Vista 已弃用此功能,在 comctl v6 中不受支持。 出于遗留原因,这存在于 comctl v5 中。
     

以下示例演示如何将本机字体控件添加到资源脚本。 它会导致对话框的编辑、列表和组合框控件使用当前系统语言显示文本。

CONTROL    "",-1,"NativeFontCtl",NFS_EDIT|NFS_LISTCOMBO,0,0,0,0

关于常用控件