访问 VBA - TreeView 控件 - AfterLabelEdit 事件
Posted
技术标签:
【中文标题】访问 VBA - TreeView 控件 - AfterLabelEdit 事件【英文标题】:Access VBA - TreeView Control - AfterLabelEdit Event 【发布时间】:2013-04-25 09:55:46 【问题描述】:我的表单中有一个树视图控件。我希望能够编辑树中的节点并将更改推送到 Access DB。但是,我很难找到合适的活动。 MSDN treeview events reference page 建议 AfterLabelEdit,但我无法让它工作。有人知道任何解决方法/解决方案吗? 我使用的代码片段(我添加了 onClick 和 onDblClick 进行比较,因为它们可以工作):
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
【问题讨论】:
【参考方案1】:您的链接指向 .net Windows 窗体树视图,但 MSComctlLib
是较旧的 Visual Basic 通用控件:http://msdn.microsoft.com/en-us/library/aa443023(v=vs.60).aspx
注意事件原型不同;如果您不使用正确的参数声明它,它将永远不会被提出;
Private Sub object_AfterLabelEdit(cancel As Integer, newstring As String)
【讨论】:
非常感谢!这个答案在四月份解决了我的问题。以上是关于访问 VBA - TreeView 控件 - AfterLabelEdit 事件的主要内容,如果未能解决你的问题,请参考以下文章