2013-04-25 2 views
0

내 폼에 treeview 컨트롤이 있습니다. 트리에서 노드를 편집하고 변경 사항을 Access DB로 푸시하고 싶습니다. 그러나 적절한 이벤트를 찾는 데 문제가 있습니다. MSDN treeview events reference page advices AfterLabelEdit,하지만 제대로 작동하지 않습니다. 누구든지 해결책이나 해결책을 알고 있습니까? 내가 사용하는 코드의 코드 조각은 (그들이 작업하는 나는, 비교를 위해 의 onclickonDblClick를 추가 한) :액세스 VBA - TreeView 컨트롤 - AfterLabelEdit 이벤트

Private Sub xMyTreeview_Click() 'OK 
testit 
End Sub 
Private Sub xMyTreeview_DblClick() 'OK 
EditLabel 
End Sub 

Private Sub xMyTreeview_AfterLabelEdit() 'Problem 
AfterLabel 
End Sub 

Sub EditLabel() 
Me.xMyTreeview.StartLabelEdit 
End Sub 

Sub AfterLabel() 
MsgBox prompt, vbOKOnly, "afterlabel" 
End Sub 

Sub testit() 
Dim nodSelected As MSComctlLib.Node ' a variable for the currently selected node 

Set nodSelected = Me.xMyTreeview.SelectedItem ' get the currently selected node 

NodesStrLength = Len(nodSelected.Key) 
Dim NodeStr As String 
Dim StrToChange As String 
StrToChange = nodSelected.Key 
NodeStr = Mid(StrToChange, 2, NodesStrLength - 1) 

Me.txtNodeID = NodeStr 
Me.sfrmDOCNODE.Visible = True 
End Sub 

답변

0

귀하의 링크는 .NET Windows Form에 트 리뷰에 있지만 MSComctlLib는 기존의 시각이다 기본 공통 컨트롤 : http://msdn.microsoft.com/en-us/library/aa443023(v=vs.60).aspx

이벤트 프로토 타입이 다릅니다. 올바른 인수를 사용하여 선언하지 않으면 절대로 제기되지 않습니다.

Private Sub object_AfterLabelEdit(cancel As Integer, newstring As String) 
+0

대단히 감사합니다. 이 대답은 내 문제를 4 월에 해결했습니다. – Marcin