VBA - 右键单击​​列表框时创建菜单列表

Posted

技术标签:

【中文标题】VBA - 右键单击​​列表框时创建菜单列表【英文标题】:VBA - Create a menu list when you right click a listbox 【发布时间】:2019-09-13 13:41:27 【问题描述】:

当用户右键单击列表框时,我希望有一个包含两个选项的菜单。 使用该菜单,用户将对选定的数据执行一些操作,例如添加新行,更改某些列数据或删除行。我想我可以管理该代码,但我无法掌握如何创建右键单击自定义菜单。

我找不到创建此类选项的方法。有人有想法吗?

【问题讨论】:

列表框没有右键事件。您可能会创建一个自定义侦听器,但这超出了我的范围。您最好向 UF 或包含这些选项的表单添加一个或多个按钮 谢谢蒂姆,我希望有一些解决方法。 :( 【参考方案1】:

这里是一些右键事件的代码:

Select ListBox item on rightclick in Word VBA

将此代码替换为您的上下文菜单代码:

Me.Caption = derivedIndex & " = " & ListBox1.List(derivedIndex)

这是弹出菜单的示例(您需要了解 Win32 API 调用的技能...) https://www.vbarchiv.net/api/api_createpopupmenu.html

【讨论】:

感谢您的输入,不幸的是,我的德语不太好,无法理解您的 Win32 API 调用。我想我将进行简单的双击,打开隐藏的编辑表单和添加按钮新行并删除选定的行。【参考方案2】:

仅使用类(不使用Api或Declare函数)创建的列表框的右键菜单包含以下按钮;

增加字体大小 减小字体大小 按 A-Z 排序 删除列表 全部删除

For VBA codes and sample file review this link

【讨论】:

以上是关于VBA - 右键单击​​列表框时创建菜单列表的主要内容,如果未能解决你的问题,请参考以下文章

双击空列表框时的错误处理

单击列表框时,如何在文本框中以另一种形式从ms access 2010中的列表框中移动所选项目

PySimpleGUI 列表框右键菜单

Excel VBA - 如何从另一个控件触发列表框单击

在QT中怎么隐藏QComboBox的下拉列表并当单击QComboBox的编辑框时,就弹出QListWidget窗口

从列表框项中获取文本