VB6のテキストボックスにIME2002の文字を表示するには?


ほんけん  2002-11-29 14:33:22  No: 76473  IP: [192.*.*.*]

教えてください。
VB6SP3+Windows98で作成したAPPをWinXPで使用しました。
テキストボックスに文字を入れる際、IME2000でサポートされていないが、IME2002でサポートしている文字を入力すると「????」と表示されて困っています。
教えてください。

編集 削除
魔界の仮面弁士  2002-11-29 16:09:17  No: 76474  IP: [192.*.*.*]

> 「????」と表示されて困っています。
具体的には、なんという文字を入れようとされたのでしょうか?

> 教えてください。
Win98のメモ帳でも表示できるような、一般的な文字であるとしたら、
対応するフォントが無いか、もしくは、TextBox.Font.Charsetプロパティが
 0 になってしまっているかのいずれかだと思います。

あるいは、Win98のメモ帳では表示できない文字だとしたら、それは
おそらく、Unicodeにはあって、Shift_JISには無いような文字なのでしょう。
TextBoxを始めとするVBの標準コントロールは、いずれもUnicodeの
入力に対応していないので、Shift_JISに無い文字は化けてしまう仕様です。

もし、Unicode文字を入れようとしているのであれば、
標準コントロールの代わりに、Unicode対応のActiveXコントロールを
使用する必要があるでしょう。

編集 削除
ほんけん  2002-11-29 16:58:46  No: 76475  IP: [192.*.*.*]

回答ありがとうございます。

>具体的には、なんという文字を入れようとされたのでしょうか?
ちなみに文字は「きょう」山ヘンに橋の木ヘンを取った字です。
(現在IME2000を使用しているので、文字がありません)

なお、「きょう」といれて変換まではうまくいくのですが、確定で??となってしまいます。引き続き教えてください。

編集 削除
ほんけん  2002-11-29 17:29:32  No: 76476  IP: [192.*.*.*]

追加です。
調べてみたら、まさしくUnicodeでした。ちなみに、Unicode対応のActiveXコントロールは、何を使ったらよいのでしょうか?

編集 削除
魔界の仮面弁士  2002-11-29 22:57:29  No: 76477  IP: [192.*.*.*]

VB付属のコントロールで、Unicodeに対応しているのは、
DataGridとDBGridだけです。

あとは、IE付属のWebBrowserコントロール、そして、
Office付属の(Microsoft Forms 2.0の)TextBoxコントロールですかね。

私は、WebBrowserコントロールに textareaエレメント(もしくは
input type=textエレメント)を表示させ、それを MSHTML.TLB と
組み合わせて、TextBoxの代用とした事があります。

編集 削除