タイトル : Re: listboxクラス内でupキー入力判定の仕方(VB6) 投稿日 : 2016/10/02(Sun) 17:26 投稿者 : 魔界の仮面弁士
> if System.Windows.Forms.KeyPressEventArgs.KeyUp = True Then System.Windows.Forms 何某は、VB.NET で使われる記述です。 まぁ、上記は VB6 でも VB.NET でも VBA でも NG ですが。 VB6 で判定するとなれば、こんな感じですね。 Private Sub List1_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyUp Then Debug.Print "↑キーが押された", List1.ListIndex End If End Sub Private Sub List1_KeyUp(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyUp Then Debug.Print "↑キーが離された", List1.ListIndex End If End Sub > MsgBox "リスト内で↑キーが押されたよ!" こういう場合には MsgBox ではなく、上記のように Debug.Print を使うことをお奨めします。 「キー入力」や「マウス移動」、あるいは「フォーカス制御」のテストを行う場合、 メッセージボックスを表示してしまうと、そこで処理が一時中断されるため、 本来の処理の流れが阻害されることになります。 (たとえば、List1_KeyDown で MsgBox を出すと、List1_KeyUp が処理されないなど) |