我有一個VB6的TreeView,當點擊節點的圖像(+或 - )時,節點展開,然後立即摺疊,反之亦然。我有展開/摺疊被點擊時,一個節點一個TreeView Click方法(如下圖所示的簡化版本)檢測TreeView節點圖像點擊
Private Sub MyTreeView_Click()
Dim selectedNode As Node
Dim nodeType As String
Set selectedNode = MList2.SelectedItem
If selectedNode Is Nothing Then
Exit Sub
End If
nodeType = selectedNode.Key
If nodeType = "MyNodeType" Then
'Collapse Node if it's already expanded, otherwise expand it.
If selectedNode .Expanded Then
selectedNode .Expanded = False
Else
'Do some processing
selectedNode .Expanded = True
End If
End If
End Sub
如果單擊節點的文本部分也能正常工作。但是,如果單擊節點的圖像部分,則在到達此EventHandler之前展開/摺疊節點,導致節點在確實擊中此EventHandler時立即返回到其原始狀態。節點的第一次展開/摺疊似乎發生在NodeDown上的MouseDown上。
有沒有人知道我可以如何防止點擊節點圖像時點擊此EventHandler之前展開/摺疊節點?
任何幫助將不勝感激,在此先感謝。
您可以嘗試處理摺疊/展開消息並放下它們,使您的代碼可以明確設置它。 – Deanna 2012-07-26 09:31:07