初めて書込みさせていただきます。
現在VB6で作成するアプリ上でリストの文字列がそれぞれ、日本語、韓国語、中国語のコンボボックスを表示させたいのですが、ソースでコンボボックス内の文字列を入力する際、韓国語や中国語を同時に入力できません。
具体的には、AddItemの文字列を記述する際に韓国語(もしくは中国語)のIMEに切り替えて入力するのですが、そうすると他のの文字が文字化けしてしまいます。
また、そのコンボボックスには文字の入力もできる様にしたいのですが、こちらも他国語が上手く入力できない状態です。(文字化けして???の様になります)
どなたか、上記の件に関して解決方法をご存知の方がいたらご指導をお願いします。
> ソースでコンボボックス内の文字列を入力する際、韓国語や中国語を
> 同時に入力できません。
VB6のソースコードは、システム既定の文字コードで記述されます。
日本語環境ではShift_JISであり、他言語は入力できません。
# VB.NETであれば、ソースコードの文字セットを変更できるため、
# 複数言語の記述も可能となりますが……。
もし、Shift_JISにない言語の文字を扱いたいのであれば、
S1 = "日本語:ようこそ"
S2 = "韓国語:" & ChrW(&HC5B4) & ChrW(&HC11C) & " " _
& ChrW(&HC624) & ChrW(&HC2ED) & ChrW(&HC2DC) & ChrW(&HC2ED) & ChrW(&HC624)
S3 = "簡体字:" & ChrW(&H6B22) & "迎"
S4 = "繁体字:歡迎"
のように、ChrW関数を用いて対応するか、または、バイナリファイルなどから
データを取り込むなどの対応が必要になります。
> そのコンボボックスには文字の入力もできる様にしたいのですが、
VB6の標準コントロール(≠ActiveXコントロール)では、
中文版のWindows上で日本語の文字を扱う事はできませんし、
日本語のWindows上で韓国語の文字を扱う事もできません。
# VB.NET + Win2000/XP等の組み合わせならば可能ですが。
VBでUnicode文字を扱うための手順としては、下記のサイトが
参考になるかと思います。(英語サイトです)
http://www.cyberactivex.com/UnicodeTutorialVb.htm
で、結論から言えば、複数言語を同時に表示させるためには、別途、
『Unicodeに対応したActiveXコントロール』が必要となります。
また、複数の言語を同時にサポートしたUnicode対応フォントも
必要となるでしょう。("Arial Unicode MS"など)
Unicode対応のComboBoxとしては、下記のような物があります。
http://www.cyberactivex.com/product008.htm#UniComboEx
魔界の仮面弁士さん、早速の回答ありがとうござました。
言われたHP等を参考に試してみたいと思います。
結果は後に報告させていただきます。
ツイート | ![]() |