とっておきの手土産を教えて

VBのプログラム中で任意のタイミングでIMEパッドを表示したり消したりしたいのです。
よろしくお願いします。

A 回答 (1件)

On / Off でしたら ImmSetOpenStatus 関数で行えます。

次はサンプルです。

Option Explicit

Private Declare Function ImmGetContext Lib "imm32.dll" (ByVal hWnd As Long) As Long
Private Declare Function ImmSetOpenStatus Lib "imm32.dll" (ByVal hIMC As Long, ByVal fOpen As Long) As Long
Private Declare Function ImmReleaseContext Lib "imm32.dll" (ByVal hWnd As Long, ByVal hIMC As Long) As Long

Private Enum IMEModeConstants
IMEModeOff = 0
IMEModeOn = 1
End Enum

Private Sub Command1_Click()

SetIMEMode IMEModeOn

End Sub

Private Sub Command2_Click()

SetIMEMode IMEModeOff

End Sub

Private Sub SetIMEMode(lngMode As IMEModeConstants)

Dim lngIMC As Long

lngIMC = ImmGetContext(hWnd)
ImmSetOpenStatus lngIMC, lngMode
ImmReleaseContext hWnd, lngIMC

End Sub
    • good
    • 0
この回答へのお礼

遅くなってしまいましたが、目的を達成することができました。
ありがとうございました!

お礼日時:2002/06/09 23:10

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

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報