喫茶XRAYトップページ

[スレッド全体
]

[7542] Re2:StringGridでIMEをコントロールしたんですが・・・返信 削除
2014/4/25 (金) 09:28:38 taki
▼ Mr.XRAYさん

>       Win32NLSEnableIME(hInpEdit, False); //これに変更
> //    SetImeMode(hInpEdit, imDisable);  //これは使わない


正常に動くようになりました。
お客さんのPCでも大丈夫です。
えっ、客のPCをテストに使うなって。(^_^;

> 眠い....
>
> 結果待ちで,掲載サンプルのコードを修正したいと思います.


お疲れ様でした。


[7543] Re3:StringGridでIMEをコントロールしたんですが・・・返信 削除
2014/4/25 (金) 10:23:11 Mr.XRAY
▼ takiさん

> えっ、客のPCをテストに使うなって。(^_^;

全く問題ありません.
マイクロソフトだって,全世界のユーザをテストに使っていますから.

最近,夜の11時過ぎると,急激に眠くなるんですよね.
気になるので,寝る前に調べたのですが,終わったら....パタン.
気が付いたら朝なんです.ハハハッ.

原因なのですが,
Delphi XE, XE2, XE4 のソースコードを調べたら,
これは,Delphi のバグというより,Windows API のバグではないかと思います.
Windows のバグを回避するコードを書いていない,という意味では
Delphi のバグとも言えなくはないですが.

Win32NLSEnableIME は内部で Windows API の WINNLSEnableIME を実行している
だけなんですが,MSDN の記事では,この関数は使うなと書いてあります.
でも,そんなこと言ったってね.
 2011年7月6日の Microsoft のサポート記事にも,この関数の使い方が
書いてあるぐらいですから,問題ないと思います.
この点も,サンプルの記事に追加しておきます.

# 連休中にお仕事ができてしまった ?!


[7546] Re3:StringGridでIMEをコントロールしたんですが・・・返信 削除
2014/4/25 (金) 11:08:37 snail
▼ takiさん

さすが若い、朝早くまでがんばれますね。
私は早く寝たのはいいけど胃食道逆流で死んでいました。

ところで、たたみやさんのHPに

http://hp.vector.co.jp/authors/VA015730/delphi/TipsTips.html

>procedure ImeOnOff(const winctr :TWinControl; const status:boolean);
> var Imc:HIMC;
>begin
> winctr.SetFocus;
> if status then Win32NLSEnableIME(winctr.Handle,true) else Win32NLSEnableIME(winctr.Handle,false);
>                            // MS-IMEでは上記のようにします。win98以降のもの?
> Imc := ImmGetContext(winctr.Handle);
> if status then ImmSetOpenStatus(imc,true) else ImmSetOpenStatus(imc,false);
> ImmReleaseContext(winctr.Handle, Imc);
>//その他のIME(Atokなど)では、上の3行でOKみたいです。
>end;


という記事がありました。IMEによって動作の違いがあるようですね。
ちなみに私は ATOK です。
また後から色々と確認してみます。



[7547] Re4:StringGridでIMEをコントロールしたんですが・・・返信 削除
2014/4/25 (金) 11:19:45 Mr.XRAY
▼ snailさん

> という記事がありました。IMEによって動作の違いがあるようですね。

なるほど,そのあたりも考える必要がありそうですね.
サンプルプログラム集の修正はちょっと待ちます.


[7548] 日本語 IME の Disable 操作返信 削除
2014/4/26 (土) 09:59:19 Mr.XRAY
考えてみたら,ATOK はもってないし.で,とりあえず更新しましたです.

[083_TStringGrid 等のセル編集とインプレイスエディタ]
http://mrxray.on.coocan.jp/Delphi/plSamples/083_InplaceEditor.htm


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