• ベストアンサー

DataGridのIME制御

VB6を使っていますが、DataGridコントロールのIME制御の方法がわかりません。 また、コマンドボタンやオプションボタンでもIMEが開いてしまい困っています。 とりあえず、DataGridでのIMEをソース上で閉じる方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • urourojp
  • ベストアンサー率33% (1/3)
回答No.2

>ただ、気になったのは、「hWnd = Text1.hWnd >の部分のコントロール名はDataGridでなくていい >んですか? あああ、その通りです。 うちのをコピペして修正するのをさすれていました。(笑)

kmor
質問者

お礼

すっきりしました。 ありがとうございました。

その他の回答 (1)

  • urourojp
  • ベストアンサー率33% (1/3)
回答No.1

'次のようなことがしたいのでしょうか? 'とりあえず、貼り付けてみてください。 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

kmor
質問者

お礼

御礼遅くなり申し訳ありません。 出来ました、ありがとうございます。 ただ、気になったのは、「hWnd = Text1.hWnd」の部分のコントロール名はDataGridでなくていいんですか? 何でもいいんでしょうか。

関連するQ&A