掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
MSFlexGridとテキストボックスを組み合わせた場合の不具合について? (ID:81943)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
いつもお世話になりありがとうございます。よろしくお願い致します。 MSFlexgridとテキストボックスを組み合わせて使用しています。 以下のようなコードです。 スクロールした時にテキストボックスが残ってしまうことから 一度、テキストボックスを非表示にして、入力時に表示するようにしています。 そうすると、今度は新たな問題が発生してしまいました。 1.最初に日本語入力をオフにできない。 (ユーザーは行えますが) 2.一度入力し確定したものには、Deleteキーが使えない。 (Enterを2回押すと消去できますが。) この2点について、対処方法はございますでしょうか。 どうか、よろしくお願い致します。 Private Sub Form_Load() Me.Show With MSFlexGrid1 .Row = 1 .Col = 1 .RowSel = 1 .ColSel = 1 .FocusRect = flexFocusLight End With MSFlexGrid1_EnterCell Text1.Visible = False End Sub Private Sub MSFlexGrid1_EnterCell() With Text1 .Text = "" .Visible = False .Top = MSFlexGrid1.Top + MSFlexGrid1.CellTop .Left = MSFlexGrid1.Left + MSFlexGrid1.CellLeft .Height = MSFlexGrid1.CellHeight .Width = MSFlexGrid1.CellWidth .Text = MSFlexGrid1.Text End With End Sub Private Sub MSFlexGrid1_KeyPress(KeyAscii As Integer) With Text1 .Text = Chr(KeyAscii) .SelStart = 1 .Visible = True .SetFocus End With End Sub Private Sub MSFlexGrid1_LeaveCell() MSFlexGrid1.Text = "" MSFlexGrid1.Text = Text1.Text End Sub Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) Dim dRow As Long Dim dCol As Long If KeyCode = vbKeyReturn Or KeyCode = vbKeyDown Then dRow = MSFlexGrid1.Row + 1 If dRow < MSFlexGrid1.Rows Then MSFlexGrid1.Row = dRow End If MSFlexGrid1.SetFocus ElseIf KeyCode = vbKeyUp Then dRow = MSFlexGrid1.Row - 1 If dRow > 0 Then MSFlexGrid1.Row = dRow End If MSFlexGrid1.SetFocus ElseIf KeyCode = vbKeyRight Then dCol = MSFlexGrid1.Col + 1 If dCol < MSFlexGrid1.Cols Then MSFlexGrid1.Col = dCol End If MSFlexGrid1.SetFocus ElseIf KeyCode = vbKeyLeft Then dCol = MSFlexGrid1.Col - 1 If dCol > 0 Then MSFlexGrid1.Col = dCol End If MSFlexGrid1.SetFocus End If End Sub
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.