喫茶XRAYトップページ

[スレッド全体
]

[4875] TStringGridでの日本語入力返信 削除
2011/6/14 (火) 23:14:23 Sara
皆さんこんにちは、Saraです。

最近、TStringGridを使ったプログラムを作っているのですが、
日本語入力で、ちょっと納得いかないところがありまして・・・

お知恵を拝借できれば幸いです。

問題点:
例えば、1列目が日本語入力On、2列目がOff、3列目がOnという
StringGridを作ったとして、OnGetEditTextにてImeMode(imOpen)等を
使って、IMEを制御するとします。

このとき、1列目に入力するにあたりF2キーを押すなどして編集モード
にすれば、問題なく日本語入力できますが、いきなり日本語を入力しようと
すると、最初に押したキーだけが半角文字で入力されてしまいます。

そこで、OnSelectCellにて、
     keybd_event(VK_F2, 0, 0, 0);
     keybd_event(VK_F2, 0, KEYEVENTF_KEYUP, 0);
として、擬似的にF2キーを押して編集モードにすると、とりあえず日本語
入力が期待したとおりに動作するのですが、セルを移動すると直ぐに編集モード
になってしまい、左右の矢印キーにてセルの移動ができなくなります。
(できるようにすると、文字列の編集に矢印キーが使えなくなる)

(そもそも、やっていることが間違ってますかね・・・(^^; )

なにか妙手はないでしょうか?

[4876] Re:TStringGridでの日本語入力返信 削除
2011/6/15 (水) 00:06:37 Mr.XRAY
▼ Saraさん,こんにちは.

> このとき、1列目に入力するにあたりF2キーを押すなどして編集モード
> にすれば、問題なく日本語入力できますが、いきなり日本語を入力しようと
> すると、最初に押したキーだけが半角文字で入力されてしまいます。


うーむ.これは今ちょっと分かりません.

> そこで、OnSelectCellにて、
>      keybd_event(VK_F2, 0, 0, 0);
>      keybd_event(VK_F2, 0, KEYEVENTF_KEYUP, 0);
> として、擬似的にF2キーを押して編集モードにすると、とりあえず日本語
> 入力が期待したとおりに動作するのですが、セルを移動すると直ぐに編集モード
> になってしまい、左右の矢印キーにてセルの移動ができなくなります。


これはなりますね.
で,対策ですが.分かりません.
後で調べてみます.
StringGridのサンプルを掲載している以上,多少は責任は...
ないとは思いますが(笑).


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82