2011-08-12 2 views
1

Microsoft TreeViewコントロールで[ENTER]をキャッチしようとしています。catchはms-accessとtreeviewに入力します

このコードは通常のキーで正常に実行されますが、入力されません。

Private Sub xProductTreeview_KeyPress(KeyAscii As Integer) 
    'do something treeview can understand.. 
    Application.Quit 
End Sub 

今のキー押下はそう公式宣言が正しくないと、次のコードが動作するhttp://www.pcreview.co.uk/forums/here-syntax-treeview-keydown-t3810664.html から助けを借りてのKeyDown、 をしようとし、ENTERでトリガしません:

アクセスにKeyPreivewを設定してみました
Private Sub xProductTreeview_KeyDown(KeyCode As Integer, ByVal Shift As Integer) 
    'do something treeview can understand.. 
    If KeyCode = 32 Then Application.Quit 
    'Still, KeyCode=13 doesn't trigger nothing.. 
End Sub 

〜を真にしてください。

EDIT: この実際

がtrueにKeyPreviewの設定..作品と:

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) 
    If KeyCode = 13 Then MsgBox xProductTreeview.SelectedItem.Text 
End Sub 

ので整理残された唯一のものは、返される値は、非かもしれラベル値、ですユニークなので、ノードのテキストの代わりにキーを取得するにはどうすればいいですか?

に関して、 //トン

+0

ああ、それはその後、作品: 薄暗いnodSelectedをMSComctlLib.Node 設定nodSelected = Me.xProductTreeview.SelectedItem MsgBoxにnodSelectedとして。キー – Teson

答えて

0

真KeyPreviewの=と

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) 
    If KeyCode = 13 Then 
    Dim nodSelected As MSComctlLib.Node 
    Set nodSelected = Me.xProductTreeview.SelectedItem 
    MsgBox nodSelected.Key 
    end if 
End Sub 
関連する問題