- ベストアンサー
DataGridのIME制御
VB6を使っていますが、DataGridコントロールのIME制御の方法がわかりません。 また、コマンドボタンやオプションボタンでもIMEが開いてしまい困っています。 とりあえず、DataGridでのIMEをソース上で閉じる方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>ただ、気になったのは、「hWnd = Text1.hWnd >の部分のコントロール名はDataGridでなくていい >んですか? あああ、その通りです。 うちのをコピペして修正するのをさすれていました。(笑)
その他の回答 (1)
- urourojp
- ベストアンサー率33% (1/3)
'次のようなことがしたいのでしょうか? 'とりあえず、貼り付けてみてください。 Public Declare Function ImmGetContext Lib "imm32.dll" (ByVal hWnd As Long) As Long Public Declare Function ImmSetOpenStatus Lib "imm32.dll" (ByVal himc As Long, ByVal b As Long) As Long Public Declare Function ImmReleaseContext Lib "imm32.dll" (ByVal hWnd As Long, ByVal himc As Long) As Long Private Sub DataGrid_GotFocus() Dim himc As Long Dim hWnd As Long hWnd = Text1.hWnd 'IMEをOn/Off himc = ImmGetContext(hWnd) Call ImmSetOpenStatus(himc, 1) 'ON 'Call ImmSetOpenStatus(himc, 0) 'OFF Call ImmReleaseContext(hWnd, himc) End Sub
お礼
御礼遅くなり申し訳ありません。 出来ました、ありがとうございます。 ただ、気になったのは、「hWnd = Text1.hWnd」の部分のコントロール名はDataGridでなくていいんですか? 何でもいいんでしょうか。
お礼
すっきりしました。 ありがとうございました。