共通コントロールのローカライズ サポート

このトピックでは、共通コントロールに組み込まれている各国語のサポートについて説明します。 組み込みの各国語サポートにより、ローカライズされたアプリケーションの実装が簡略化されます。

共通コントロールの言語の指定

共通コントロールにシステム言語と異なる言語を指定する場合は、InitMUILanguage を呼び出します。 この関数で指定された言語は、関数の呼び出し元のプロセスにのみ適用されます。

共通コントロールで現在使用されている言語を判別するには、GetMUILanguage を呼び出します。 これは、InitMUILanguage の前回の呼び出しで設定された値を返します。 返される言語は、呼び出し元のプロセスに対して指定された言語です。 InitMUILanguage が呼び出されたことがない場合、または別のプロセスから呼び出された場合は、GetMUILanguage は既定値を返します。

ダイアログ ボックスでのコントロールの言語の指定

共通コントロールとは異なり、ボタンや編集ボックスなどの定義済みのコントロールでは、既定では現在のシステム言語は使用されません。 ネイティブ フォント コントロールは、バックグラウンドで動作する非表示のコントロールであり、ダイアログ ボックスの定義済みのコントロールで現在のシステム言語を表示できるようにします。

ネイティブ フォント コントロールを使用するには、次の手順に従います。

  1. InitCommonControlsEx を呼び出して、ネイティブ フォント コントロールを初期化します。 lpInitCtrls によってポイントされている INITCOMMONCONTROLSEX 構造体の dwICC メンバーを ICC_NATIVEFNTCTL_CLASS に設定します。

  2. ダイアログ ボックスのリソース スクリプトにコントロールを追加します。 以下のスタイル フラグのうち 1 つ以上を設定して、影響を受けるコントロールを指定します。

    <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 リスト、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