Поддержка локализации для общих элементов управления

В этом разделе описывается поддержка национальных языков, встроенных в общие элементы управления. Встроенная поддержка национальных языков упрощает реализацию локализованных приложений.

Указание языка для общих элементов управления

Если вы хотите указать язык для общих элементов управления, отличных от системного языка, вызовите InitMUILanguage. Язык, указанный этой функцией, применяется только к процессу, из которого вызывается функция.

Чтобы определить язык, используемый общими элементами управления, вызовите GetMUILanguage. Он возвращает значение, заданное предыдущим вызовом InitMUILanguage. Возвращенный язык — это тот, который был указан для процесса, из который он вызывается. Если InitMUILanguage не был вызван или был вызван из другого процесса, GetMUILanguage вернет значение по умолчанию.

Указание языка элементов управления в диалоговом окне

В отличие от распространенных элементов управления, предопределенные элементы управления, такие как кнопки или поля редактирования, по умолчанию не используют текущий язык системы. Собственный элемент управления шрифтом — это невидимый элемент управления, который работает в фоновом режиме, чтобы предварительно определенные элементы управления диалогового окна отображали текущий язык системы.

Чтобы использовать собственный элемент управления шрифтом, выполните следующую процедуру.

  1. Инициализировать собственный элемент управления шрифтом, вызвав InitCommonControlsEx. Задайте элемент dwICC структуры INITCOMMONCONTROLSEX, на который указывает lpInitCtrls 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; размер шрифта:14px; переполнение:скрыто; заполнение:10px 5px; word-break:normal;} .tg th{border-color:black; border-style:solid; border-width:1px; font-family:Arial, sans-serif; размер шрифта:14px; font-weight:normal; переполнение:скрыто; заполнение:10px 5px; word-break:normal;} .tg .tg-0pky{border-color:inherit; выравнивание текста:слева; вертикальное выравнивание:top} </style>

    Флаг Относится к
    NFS\_EDIT Изменение элементов управления
    NFS\_STATIC Статические элементы управления
    NFS\_LISTCOМБ O Элементы управления List, ComboBox, List-View и ComboBoxEx
    NFS\_BUTTON Элементы управления "Кнопка"
    NFS\_ALL Все элементы управления
    NFS\_USEFONTASSOC Платформа Восточной Азии. Элемент управления использует функцию сопоставления шрифтов вместо переключения на собственный шрифт. Все остальные платформы игнорируют его. Это не рекомендуется для Windows Vista и не поддерживается в comctl версии 6. Это существует в comctl версии 5 по устаревшим причинам.
     

В следующем примере показано, как добавить собственный элемент управления шрифтом в скрипт ресурсов. Это приводит к изменению, списку и списку элементов управления диалогового окна для отображения текста с помощью текущего языка системы.

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