可以去微软下一个treeview控件的事例,可以实现各种功能
解决方案 »
- 困扰很久的 数据库 image类型字段 存取文件的问题
- 如何用vb编程实现生成chm文件(已知一堆html文件)
- 再问DIB--转置变换算法,我哪里出了问题?
- 请教::制作控件的属性是一个集合时候如何处理?
- 如何在Excel中自动套用公式?
- 高手请来!送500分!
- 跨局域网通信??????????
- 新手问题:为什么会出现“找不到可插入的ISAM”的错误提示???
- 如何用sql语句 为ACCESS数据库 设置 default 默认的值????
- 能帮忙把这段代码转成VB.net的代码(需调试通过的),100分相送
- 为什么? Access库里明明有某天的记录,这条SQL语句就是查不着?
- VB--九阴白骨爪!
Private Sub tvwMPTree_MouseUp(Button As Integer, Shift As Integer, _
x As Single, y As Single)
If Button = VK_RBUTTON Then 'right button is clicked
Set CurNode = tvwMPTree.HitTest(x, y)
endif
End Sub
在MOUSE——DOWN事件里设置一个右建标志(不是右建就清除标志),然后在NODE——CLICK事件里处理就行。
使用tooltip存储提示信息
在mousemove中显示tooltip
Private mcSel As Node
Private Sub tv_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
Static fNoPop As Boolean
If Not mcSel Is Nothing Then
If mcSel.Key= "关键" Then
If Button = vbRightButton Then
If fNoPop = False Then
PopupMenu 菜单
fNoPop = True
Else
fNoPop = False
End If
Else
fNoPop = False
End If
Else
fNoPop = False
End If
End If
End SubPrivate Sub tvTrain_NodeClick(ByVal Node As MSComctlLib.Node)
Set mcSel = Node
End Sub
to:nanhill(米) 有连接地址吗?
to:sfireball(阿飞) CurNode是TREEVIEW自带的吗,没有定义
to:tanyx(不知道) 你的方法到是可以,我还没试,我也这样想过,有没有简单的方法,TREEVIEW应该不会这么烂吧
to:superjs(真剑神) 我是想最好右击接点时,让此接点选中
to:sfireball(阿飞) 我是用了TOOLTIP,但要判断鼠标移到了哪个BUTTON
Private mcSel As Node
Private Sub tv_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
If Not mcSel Is Nothing Then
If mcSel.Key= "关键" And Button = vbRightButton Then PopupMenu 菜单
End If
End SubPrivate Sub tv_NodeClick(ByVal Node As MSComctlLib.Node)
Set mcSel = Node
End Sub
Dim CurNode As Node
自己定义的变量
用来存储点击的节点
上面的代码只是一个片断,说明问题用的
If Button = vbRightButton Then
If TreeView1.SelectedItem Is TreeView1.HitTest(x, y) Then
menuPopupItem.Caption = TreeView1.SelectedItem.Text
Me.PopupMenu menuPopup
End If
End If
End Sub
menuPopupItem.Caption = TreeView1.SelectedItem.Text这句什么意思,我没用这句,
不知第二个问题有什么好办法吗?争取明天结帐
void CBhjkgView_Left::OnRclick(NMHDR* pNMHDR, LRESULT* pResult)
{
POINT point;
::GetCursorPos(&point);
m_PopMenu.GetSubMenu(2)->TrackPopupMenu(TPM_LEFTALIGN, point.x,point.y,this,0);
*pResult = 0;
}
CTreeView 本身支持右键事件的,不必用mouse 等底层的事件
to xltang(深流):你的VC代码我看了,没试,应该说弹出菜单是没问题,但是是TREEVIEW的任何地方都会弹出,没有根据选择的接点弹出