• ベストアンサー

[_(アンダーバー)の感知について

OS:windows2000pro VB:VB6.0sp5 keyDown関数を用いて、アンダーバーを感知しようとしているのですが、できません keycode,shift = (1)226,0 = [\] keycode,shift = (2)16,1 = [shift] となります どのようにすれば良いのでしょうか?  また、keyDown関数にて感知可能の場合 keycode,shift = ?,? の場合でしょうか? よろしくお願いいたします

質問者が選んだベストアンサー

  • ベストアンサー
  • AlexSuns
  • ベストアンサー率67% (78/115)
回答No.2

調査方法: テキストボックスを2つ配置 設定するプロパティは「Multiline」をTrueにする テキストボックスのキーイベントにて下記のように Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)      'キー情報出力   Me.Text2.SelStart = Len(Me.Text2.Text) + 1   Me.Text2.SelText = "KeyCode -> " & KeyCode & " Shift -> " & Shift & vbCrLf    End Sub この様にすれば、直前に押下されたキー情報を取得できます ちなみに   'アンダースコア検知   If (Shift And vbShiftMask) And (KeyCode = 226) Then     Me.Text2.SelStart = Len(Me.Text2.Text) + 1     Me.Text2.SelText = "アンダースコアです" & vbCrLf   End If あと理解しているといいもの Shift、Ctrl、および Alt の各キーの状態の検出 http://www.microsoft.com/japan/developer/library/VBCon98/vbcondetectingshiftctrlaltstates.htm

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • ctrlzr
  • ベストアンサー率29% (18/62)
回答No.1

keyPressイベントではダメですか? keyPressは入力した文字の検知、keyDownは押されたキーの検知です。

すると、全ての回答が全文表示されます。

関連するQ&A