掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
MSFlexGridとテキストボックスを組み合わせた場合の不具合について? (ID:81945)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Deleteキーが使えないという部分と Enterキーで変なことになってしまう、という部分についても 以下を参考に解決致しました。 http://www.geocities.co.jp/SiliconValley/4805/vbtips/vbtips094.htm ちなみに、最初のコードに次のものを付け足すと うまくいきます。 'IMEモード設定のためのAPI Private Declare Function ImmGetContext Lib "imm32.dll" (ByVal hwnd As Long) As Long Private Declare Function ImmSetOpenStatus Lib "imm32.dll" (ByVal hIMC As Long, ByVal b As Long) As Long Private Declare Function ImmReleaseContext Lib "imm32.dll" (ByVal hwnd As Long, ByVal hIMC As Long) As Long Dim hIMC As Long 'キーボート認識のためのAPI Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer Private Const VK_DELETE = &H2E '[Delete] Private Const VK_RETURN = &HD '[Enter] Private Sub MSFlexGrid1_KeyDown(KeyCode As Integer, Shift As Integer) If GetKeyState(VK_DELETE) < 0 Then MSFlexGrid1.Text = "" Text1.Text = "" End If End Sub Private Sub MSFlexGrid1_GotFocus() 'IMEモードオフ hIMC = ImmGetContext(Me.hwnd) Call ImmSetOpenStatus(hIMC, 0) Call ImmReleaseContext(Me.hwnd, hIMC) End Sub Private Sub MSFlexGrid1_KeyPress(KeyAscii As Integer) 'リターンの場合、そのまま下がる Dim dRow As Long If GetKeyState(VK_RETURN) < 0 Then dRow = MSFlexGrid1.Row + 1 If dRow < MSFlexGrid1.Rows Then MSFlexGrid1.Row = dRow End If Exit Sub End If With Text1 .Text = Chr(KeyAscii) .SelStart = 1 .Visible = True .SetFocus End With End Sub
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.