MESCIUS InputMan for Windows Forms 12.0J
タッチキーボードの制御

InputMan が提供するタッチキーボードを制御する機能について解説します。

ドロップダウンオブジェクトとタッチキーボード

OS付属のタッチキーボードは、サイズを変更することができないため入力操作を行っているフォームを隠してしまう場合があります。 特に、コンボコントロールのリストボックス、日付時刻コントロールのカレンダーなど、ドロップダウンされるオブジェクトもタッチキーボードの背面に表示されることがあります。 しかし、これらのドロップダウンオブジェクトは、値を選択するだけで入力ができるUIであるため、タッチキーボードは不要になります。

タッチキーボードがドロップダウンを隠す例

タッチキーボードがドロップダウンを隠す例

DropDown クラスのAutoHideTouchKeyboard プロパティを使用すると、ドロップダウン表示時にタッチキーボードを自動的に非表示にすることができます。AutoHideTouchKeyboard プロパティには次の値を設定することができます。 既定値はAutoHideTouchKeyboard.AutoHide です。

AutoHideTouchKeyboardの値 説明
AutoHide ドロップダウンオブジェクトが表示されたとき、タッチキーボードを非表示にします。
HideAndReshow ドロップダウンオブジェクトが表示されたとき、タッチキーボードを非表示にします。その後、ドロップダウンオブジェクトが閉じたとき、タッチキーボードを再表示します。
None タッチキーボードを閉じません。ドロップダウンオブジェクトとタッチキーボード両方を表示します。

AutoHideTouchKeyboard プロパティは、OS付属のタッチキーボードだけではなく、ソフトキーボードコンポーネントに対しても有効です。

次のサンプルコードは、日付コントロールに対し、ドロップダウンカレンダーの表示・非表示に伴い、タッチキーボードを非表示にし、再度表示します。

GcDate1.DropDown.AutoHideTouchKeyboard = GrapeCity.Win.Editors.AutoHideTouchKeyboard.HideAndReshow
gcDate1.DropDown.AutoHideTouchKeyboard = GrapeCity.Win.Editors.AutoHideTouchKeyboard.HideAndReshow;
IMEコンポーネントによる制御

IMEコンポーネントは、タッチキーボードを制御する機能を搭載しています。 以下で紹介する機能を使用する際にはIMEコンポーネントをフォームに配置する必要があります。

IMEコンポーネントは、InputMan のソフトキーボードコンポーネントを制御することはできません。Windows 8以降に搭載される、OS付属のタッチキーボードのみ制御します。

タッチキーボードの表示切替

IMEコンポーネントは以下のメソッドを提供し、これにより任意のタイミングでタッチキーボードを表示したり非表示にしたりすることができます。

Private Sub GcTextBox1_Enter(sender As Object, e As EventArgs) Handles GcTextBox1.Enter
    ' タッチキーボードを表示します。
    GcIme1.ShowTouchKeyboard()
End Sub

Private Sub GcTextBox1_Leave(sender As Object, e As EventArgs) Handles GcTextBox1.Leave
    ' タッチキーボードを非表示にします。
    GcIme1.HideTouchKeyboard()
End Sub
private void gcTextBox1_Enter(object sender, EventArgs e)
{
    // タッチキーボードを表示します。
    gcIme1.ShowTouchKeyboard();
}

private void gcTextBox1_Leave(object sender, EventArgs e)
{
    // タッチキーボードを非表示にします。
    gcIme1.HideTouchKeyboard();
}

タッチキーボードのレイアウトの変更

IMEコンポーネントをフォームに配置すると、SetInputScope メソッドが入力コントロールのプロパティウィンドウに「InputScope プロパティ」として追加されます。
InputScope プロパティでは設定したIMEモードに応じて、表示されるタッチキーボードの初期表示時のレイアウトを変更することができます。

InputScope プロパティの設定 タッチキーボードのレイアウト
Default(既定値)
AlphanumericFullWidth(全角英数)
Hanja(Hanja文字)
HanjaFullWidth(全角 Hanja 文字)
HanjaHalfWidth(半角 Hanja 文字)
Hiragana(全角ひらがな)
KatakanaFullWidth(全角カタカナ)
KatakanaHaflWidth(半角カタカナ)
AlphanumericHalfWidth(半角英数)
Number(半角数字)
NumberFullWidth(全角数字)
TelephoneNumber(電話番号)
EmailSmtpAddress(電子メールアドレス)
Url(URL)
Search(検索クエリー)

InputScope プロパティではコントロールのIMEモードを切り替えることも可能です。この機能の詳細や設定可能な値については、下記の項目をご覧ください。

関連トピック

 

 


© MESCIUS inc. All rights reserved.