none
かな入力 ローマ字入力の状態取得 RRS feed

  • 質問

  • VB2005環境で開発しています。
    画面にキーボード配列のボタンを配置し、ボタンをクリックすることにより、フォーカスのあたっている
    テキストボックスにボタンに表示されている文字を代入するソフトキーボードを作成したのですが
    IMEがONの状態での漢字変換入力モード(「かな入力」なのか「ローマ字入力」)の取得方法がわかりません。
    そのためソフトキーボードに入力モードを表示できませんでした。
    入力モード取得方法をご存知の方がいましたら教えてください。
    よろしくお願いします。
    2009年4月21日 6:04

回答



  • 【ImmGetConversionStatus】で検索してみてはどうでしょうか。

    2009年4月21日 6:27
  • ありがとうございます。
    解決しました。

    ちなみに下記のようなテストモジュールを作成してみました。

    Module IMEConfig

        <DllImport("imm32.dll")> _
        Public Function ImmGetContext _
            (ByVal hWnd As IntPtr) As IntPtr
        End Function

        <DllImport("imm32.dll")> _
        Public Function ImmReleaseContext _
           (ByVal hWnd As IntPtr, ByVal hIMC As IntPtr) As Boolean
        End Function

        <DllImport("imm32.dll")> _
        Public Function ImmGetConversionStatus _
            (ByVal hIMC As IntPtr, ByRef fdwConversion As Integer, ByRef fdwSentence As Integer) As Boolean
        End Function

        <DllImport("imm32.dll")> _
        Public Function ImmSetConversionStatus _
        (ByVal hIMC As IntPtr, ByVal fdwConversion As Integer, ByVal fdwSentence As Integer) As Boolean
        End Function

    End Module

    2009年4月21日 11:00

すべての返信



  • 【ImmGetConversionStatus】で検索してみてはどうでしょうか。

    2009年4月21日 6:27
  • ありがとうございます。
    解決しました。

    ちなみに下記のようなテストモジュールを作成してみました。

    Module IMEConfig

        <DllImport("imm32.dll")> _
        Public Function ImmGetContext _
            (ByVal hWnd As IntPtr) As IntPtr
        End Function

        <DllImport("imm32.dll")> _
        Public Function ImmReleaseContext _
           (ByVal hWnd As IntPtr, ByVal hIMC As IntPtr) As Boolean
        End Function

        <DllImport("imm32.dll")> _
        Public Function ImmGetConversionStatus _
            (ByVal hIMC As IntPtr, ByRef fdwConversion As Integer, ByRef fdwSentence As Integer) As Boolean
        End Function

        <DllImport("imm32.dll")> _
        Public Function ImmSetConversionStatus _
        (ByVal hIMC As IntPtr, ByVal fdwConversion As Integer, ByVal fdwSentence As Integer) As Boolean
        End Function

    End Module

    2009年4月21日 11:00
  • こんにちは。フォーラムオペレーター高橋です。

    >Kinsumaさん
    適切なアドバイスありがとうございました。

    >yoshiさん
    具体的なサンプルを投稿して頂き、ありがとうございます。

    Kinsumaさんからの投稿を有効な投稿として、回答マークを付けさせて頂きました。
    もし適切でない場合は、回答マークを削除する事も可能です。

    今後ともMSDNフォーラムを宜しくお願いします。


    マイクロソフト株式会社 フォーラム オペレータ 高橋春樹
    2009年4月28日 6:24