ハマっている「お菓子」を教えて!

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

A 回答 (2件)

>ただ、気になったのは、「hWnd = Text1.hWnd


>の部分のコントロール名はDataGridでなくていい
>んですか?

あああ、その通りです。

うちのをコピペして修正するのをさすれていました。(笑)
    • good
    • 0
この回答へのお礼

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

お礼日時:2004/11/03 00:27

'次のようなことがしたいのでしょうか?


'とりあえず、貼り付けてみてください。

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
    • good
    • 0
この回答へのお礼

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

お礼日時:2004/10/27 17:30

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!