次の方法で共有


MBCS プログラミングにおける一般的なアドバイス

次のヒントを参考にしてください。

  • 柔軟性を高めるために、可能な限り _tcschr_tcscpy のようなランタイム マクロを使います。詳細については、「Tchar.h における汎用テキストのマッピング」を参照してください。

  • C のランタイム _getmbcp 関数を使って、現在のコード ページについての情報を取得します。

  • 文字列リソースを別の場所で再使用しないようにします。言語によっては、1 つの文字列が複数の意味に翻訳される場合があります。たとえば、アプリケーションのメイン メニュー上の "File" という言葉とダイアログ ボックス中の文字列 "File" が違って翻訳される可能性があります。同じ名前の文字列を複数使用する場合は、それぞれに別の ID を割り当てます。

  • MBCS をサポートしているオペレーティング システムでアプリケーションが実行されているかどうかを検出する必要がある場合があります。検出する場合は、プログラム起動時にフラグを設定することにより、API 関数を呼び出さずに済むようにします。

  • ダイアログ ボックスをデザインするときには、静的テキスト コントロールの後ろに 30% ほど余白を作って、MBCS の翻訳時の文字幅の増大に備えます。

  • アプリケーションで用いるフォントの選択には注意が必要です。一部のシステムではサポートされていないフォントもあります。たとえば、Windows 2000 の日本版では Helvetica のフォントがサポートされていません。

  • ダイアログ ボックスのフォントを選択するときは、MS Sans Serif または Helvetica ではなく MS Shell Dlg を使用します。MS Shell Dlg は、ダイアログ ボックスの作成に使用する前に、システムで適切なフォントに置き換えらます。MS Shell Dlg を使用すると、このフォントを扱うためのオペレーティング システムのすべての変更内容が自動的に有効になります。Windows 95、Windows 98、および Windows NT 4 では MS Shell Dlg を正しく処理できないため、MFC によって MS Shell Dlg が DEFAULT_GUI_FONT またはシステム フォントに置き換えられます。

  • アプリケーションのデザイン時に、アプリケーションに含まれる文字列のうち、ローカライズできる文字列を決めます。まだ決まっていない場合は、すべての文字列がローカライズされると仮定し、ローカライズできる文字列とできない文字列を混在させないようにします。

参照

概念

MBCS のプログラミングについて

ポインターのインクリメントとデクリメント