操作モードを変更するとIMEモードの設定が有効にならない
対象製品
SPREAD for WPF 1.0J
状況
修正済み
詳細
操作モード(OperationMode)をデフォルト(Normal)から変更した場合、IMEモードの設定が有効になりません。
【手順】
1.新規ウィンドウにSPREADを配置します
2.下記サンプルコードをコピーし、アプリケーションを実行します
3.B1セルをクリックします
--IMEが無効になりません
【サンプルコード】
Public Sub New()
InitializeComponent()
' SingleSelectモードに設定
GcSpreadGrid1.OperationMode = GrapeCity.Windows.SpreadGrid.OperationMode.SingleSelect
' テキスト型セルのIMEモードを無効
Dim textCellType1 As New GrapeCity.Windows.SpreadGrid.TextCellType()
textCellType1.IsInputMethodEnabled = False
For i As Integer = 0 To GcSpreadGrid1.ColumnCount - 1
GcSpreadGrid1.Columns(i).CellType = textCellType1
Next
End Sub
【手順】
1.新規ウィンドウにSPREADを配置します
2.下記サンプルコードをコピーし、アプリケーションを実行します
3.B1セルをクリックします
--IMEが無効になりません
【サンプルコード】
Public Sub New()
InitializeComponent()
' SingleSelectモードに設定
GcSpreadGrid1.OperationMode = GrapeCity.Windows.SpreadGrid.OperationMode.SingleSelect
' テキスト型セルのIMEモードを無効
Dim textCellType1 As New GrapeCity.Windows.SpreadGrid.TextCellType()
textCellType1.IsInputMethodEnabled = False
For i As Integer = 0 To GcSpreadGrid1.ColumnCount - 1
GcSpreadGrid1.Columns(i).CellType = textCellType1
Next
End Sub
回避方法
Service Pack 2(v1.0.2015.1109)で修正済み。
Service Pack 2(v1.0.2015.1109)より前のバージョンでは次の回避方法が有効です。
------------------------------------------
EditElementContainerのIMEを設定します。
【サンプルコード】
Public Sub New()
InitializeComponent()
' SingleSelectモードに設定
GcSpreadGrid1.OperationMode = GrapeCity.Windows.SpreadGrid.OperationMode.SingleSelect
' テキスト型セルのIMEモードを無効
Dim textCellType1 As New GrapeCity.Windows.SpreadGrid.TextCellType()
textCellType1.IsInputMethodEnabled = False
For i As Integer = 0 To GcSpreadGrid1.ColumnCount - 1
GcSpreadGrid1.Columns(i).CellType = textCellType1
Next
' 回避策
Dim style As New Style(GetType(GrapeCity.Windows.SpreadGrid.Presenters.EditElementContainer))
style.Setters.Add(New Setter(InputMethod.IsInputMethodEnabledProperty, False))
GcSpreadGrid1.Resources.Add(GetType(GrapeCity.Windows.SpreadGrid.Presenters.EditElementContainer), style)
End Sub
Service Pack 2(v1.0.2015.1109)より前のバージョンでは次の回避方法が有効です。
------------------------------------------
EditElementContainerのIMEを設定します。
【サンプルコード】
Public Sub New()
InitializeComponent()
' SingleSelectモードに設定
GcSpreadGrid1.OperationMode = GrapeCity.Windows.SpreadGrid.OperationMode.SingleSelect
' テキスト型セルのIMEモードを無効
Dim textCellType1 As New GrapeCity.Windows.SpreadGrid.TextCellType()
textCellType1.IsInputMethodEnabled = False
For i As Integer = 0 To GcSpreadGrid1.ColumnCount - 1
GcSpreadGrid1.Columns(i).CellType = textCellType1
Next
' 回避策
Dim style As New Style(GetType(GrapeCity.Windows.SpreadGrid.Presenters.EditElementContainer))
style.Setters.Add(New Setter(InputMethod.IsInputMethodEnabledProperty, False))
GcSpreadGrid1.Resources.Add(GetType(GrapeCity.Windows.SpreadGrid.Presenters.EditElementContainer), style)
End Sub