・10キー
・ひらがな/カタカナ
・ローマ字/かな
・手書き入力
・手書き検索
このSIPパネルを切り替えます。
方法は2つあります。
Microsoft.WindowsCE.Forms.InputMethodクラスを使用する方法です。
フォームにInputPanelを配置し、以下のコードを実行する。
Public Class Form1 Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim im As Microsoft.WindowsCE.Forms.InputMethod For Each im In Me.InputPanel1.InputMethods Me.ListBox1.Items.Add(im.Name) Next im End Sub Private Sub ListBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles ListBox1.SelectedIndexChanged Dim strIM As String strIM = ListBox1.SelectedItem.ToString() Dim im As Microsoft.WindowsCE.Forms.InputMethod For Each im In Me.InputPanel1.InputMethods If im.Name = strIM Then InputPanel1.CurrentInputMethod = im End If Next im End Sub End Class
こちらはAPI「SipSetCurrentIM」を使用します。
フォームにInputPanelを配置する必要はありません。
Imports System.Runtime.InteropServices Public Class Form1 Private _InputMethod As New Dictionary(Of String, Guid) Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load For Each im As Microsoft.WindowsCE.Forms.InputMethod In Me.InputPanel1.InputMethods _InputMethod.Add(im.Name, im.Clsid) Me.ListBox1.Items.Add(im.Name) Next im End Sub Private Sub ListBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles ListBox1.SelectedIndexChanged Dim strIM As String = ListBox1.SelectedItem.ToString() Dim guid As Guid = Me._InputMethod(strIM) SipSetCurrentIM(guid.ToByteArray) End Sub_ Private Shared Function SipSetCurrentIM(ByVal clsid As Byte()) As Boolean End Function End Class
0 件のコメント:
コメントを投稿