質問

Borland C ++ Builder VCLアプリがあります(それで、Unicodeをまだ使用していません)。実行時にコントロールのキャプションテキストの簡単な翻訳をロシア語に提供したいと思います。

簡単に使用できます EnumChildWindows 英語のキャプションを取得するには、翻訳を検索し、キャプションテキストを使用して置き換えます setWindowText. 。これは、フォントについて心配する必要がない西ヨーロッパの翻訳に適しています。しかし、ロシア版のWindowsとVCLが8ビットのキリル文字セットをどのように処理するかはわかりません。

現在、すべてのVCLコントロールにはフォント設定があります。

Charset=DEFAULT_CHARSET
name=MS Sans Serif

私のプログラムがロシア語バージョンのWindowsの下で実行されている場合、キャラクターセットがキリルになると仮定するのは正しいですか? default_charset 設定して、すべてのコントロールのフォント設定を変更する必要はありませんか?

(実行時に)フォントを変更する必要がある場合、WindowsAPIが機能する必要があります sendmessage(hwnd、wm_setfont、(wparam)hfont、true) VCLコントロールを使用しますか? createfont()を使用してみました sendmessage(.. wm_setfont ..) Russian_charsetとキリル語のフォントフェイス。これには効果がないように見えます。設計時にフォームのコントロール用に設定されたフォントを保持します(ANSI_CHARSETおよび標準のWindowsインストールされたフォントフェイスもコントロールのフォントに影響しません)。コントロールのフォントを変更する必要がないことを確認するか、実行時にすべてのコントロールのフォント設定を設定するためのVCLメソッドを教えてください。

正しい解決策はありません

他のヒント

自転車を再発明する必要はありません。 Borland C ++ビルダーで提供される統合翻訳環境ツールを使用してみませんか?翻訳に役立つウィザードがあり、アプリケーション内のすべてのテキスト文字列の翻訳を含む特別なリソースファイルを作成します。次に、プログラムは、起動時にシステム言語と利用可能な言語リソースファイルを確認し、適切な言語を自動的に使用します。より詳細なプロセスの説明については、インデックス - 「統合翻訳環境(ITE)」を備えたC ++ビルダーヘルプシステムを確認してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top