このトピックでは、共通コントロールに組み込まれている各国語のサポートについて説明します。 組み込みの各国語サポートにより、ローカライズされたアプリケーションの実装が簡略化されます。
共通コントロールの言語の指定
共通コントロールにシステム言語と異なる言語を指定する場合は、InitMUILanguage を呼び出します。 この関数で指定された言語は、関数の呼び出し元のプロセスにのみ適用されます。
共通コントロールで現在使用されている言語を判別するには、GetMUILanguage を呼び出します。 これは、InitMUILanguage の前回の呼び出しで設定された値を返します。 返される言語は、呼び出し元のプロセスに対して指定された言語です。 InitMUILanguage が呼び出されたことがない場合、または別のプロセスから呼び出された場合は、GetMUILanguage は既定値を返します。
ダイアログ ボックスでのコントロールの言語の指定
共通コントロールとは異なり、ボタンや編集ボックスなどの定義済みのコントロールでは、既定では現在のシステム言語は使用されません。 ネイティブ フォント コントロールは、バックグラウンドで動作する非表示のコントロールであり、ダイアログ ボックスの定義済みのコントロールで現在のシステム言語を表示できるようにします。
ネイティブ フォント コントロールを使用するには、次の手順に従います。
InitCommonControlsEx を呼び出して、ネイティブ フォント コントロールを初期化します。 lpInitCtrls によってポイントされている INITCOMMONCONTROLSEX 構造体の dwICC メンバーを ICC_NATIVEFNTCTL_CLASS に設定します。
ダイアログ ボックスのリソース スクリプトにコントロールを追加します。 以下のスタイル フラグのうち 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