IME設定ダイアログボックスの表示 <TOP>
IME設定ダイアログボックスを表示します。
GetKeyboardLayout キーボードレイアウトのハンドルを取得
ImmConfigureIME IMEの環境設定ダイアログを表示する関数
'================================================================ '= IMEの設定ダイアログボックスの表示 '= (ImmConfigureIME.bas) '================================================================ #include "Windows.bi" ' キーボードレイアウトのハンドルを取得 Declare Function Api_GetKeyboardLayout& Lib "user32" Alias "GetKeyboardLayout" (ByVal dwLayout&) ' IMEの環境設定ダイアログを表示する関数 Declare Function Api_ImmConfigureIME& Lib "imm32" Alias "ImmConfigureIMEA" (ByVal hKL&, ByVal hWnd&, ByVal dwMode&, lpdata As Any) #define IME_CONFIG_GENERAL 1 '基本設定ダイアログボックスを表示 #define IME_CONFIG_REGISTERWORD 2 '単語登録ダイアログボックスを表示 #define IME_CONFIG_SELECTDICTIONARY 3 '辞書選択ダイアログボックスを表示 ' 単語登録の読みと単語を定義する構造体 Type tagREGISTERWORD lpReading As String * 255 lpWord As String * 255 End Type Var Shared Radio(2) As Object Var Shared Button1 As Object For i = 0 To 2 Radio(i).Attach GetDlgItem("Radio" & Trim$(Str$(i+1))) Radio(i).SetFontSize 14 Next Button1.Attach GetDlgItem("Button1") : Button1.SetFontSize 14 '================================================================ '= '================================================================ Declare Function Index bdecl () As Integer function Index() Index = Val(Mid$(GetDlgRadioSelect("Radio1"), 6)) End Function '================================================================ '= '================================================================ Declare Sub Button1_on edecl () Sub Button1_on() Var KeyHandle As Long Var DialogBoxType As Long Var RegWord As tagREGISTERWORD Var Ret As Long 'カレントスレッドのキーボードレイアウトのハンドルを取得 KeyHandle = Api_GetKeyboardLayout(0) '表示するIMEの環境設定ダイアログのタイプを設定 Select Case Index Case 1 DialogBoxType = IME_CONFIG_GENERAL Case 2 DialogBoxType = IME_CONFIG_REGISTERWORD Case 3 DialogBoxType = IME_CONFIG_SELECTDICTIONARY End Select 'IME設定ダイアログを表示 Ret = Api_ImmConfigureIME(KeyHandle, GethWnd, DialogBoxType, RegWord) End Sub '================================================================ '= '================================================================ While 1 WaitEvent Wend Stop End