怎样在VB组合框中实现单击不同内容而弹出不同的下拉列表?

VB组框中,有一行文本。水果蔬菜。怎样实现击水果时下拉列表弹出苹果,葡萄,香蕉列表。而单击蔬菜时下拉列表弹出白菜,西红柿,土豆。... VB组框中,有一行文本。水果蔬菜。怎样实现击水果时下拉列表弹出苹果,葡萄,香蕉列表。而单击蔬菜时下拉列表弹出白菜,西红柿,土豆。 展开
 我来答
匿名用户
2013-07-16
展开全部
简单的就用两个组合框,位置放在一起,把这些都事先添加好成员,然后点击水果,则显示水果那个下拉框,隐藏蔬菜那个下拉框,反之则一样~复杂一点的话,就是每次点击都清空内容,在判断选择的是水果还是蔬菜,再循环添加成员,这种相对比较麻烦,但是就比较整洁一点~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-07-16
展开全部
可能是由于避免混乱的原因吧, ComBoBox没有提供OnMouseDown及OnMouseUp这些关键的鼠标消息,而且实际上ComBoBox控件的内部是由一个ThunderComboBox控件及一个EDIT控件组成的,上边的这些鼠标消息是由ThunderComboBox收到父窗口的通知时(比如鼠标消息)再转发给EDIT处理的. 因此只要对ThunderComboBox 挂上个消息勾子判断并处理 WM_PARENTNOTIFY 消息就可以处理鼠标消息了, 这样做吧,新建个工程测试下,需要一个窗体及一个标准模块,内容如下:Module1.bas 标准模块的内容: Public wnd As Long
Function Callback(ByVal hwnd As Long, ByVal Message As Long, _
ByVal wParam As Long, ByVal lParam As Long) As Long
Select Case Message
Case WM_PARENTNOTIFY
If (wParam And &HFFFF) = WM_LBUTTONDOWN Then
On Error Resume Next
Callback = 1
Call Form1.ComboBox1_MouseDown '
Exit Function
End If
End Select
Callback = CallWindowProc(wnd, hwnd, Message, wParam, lParam)
End Function // 窗体的内容: Public Sub ComboBox1_MouseDown() End Sub Private Sub Form_Load()
wnd = GetWindowLong(Combo1.hwnd, GWL_WNDPROC)
SetWindowLong Combo1.hwnd, GWL_WNDPROC, AddressOf Callback
End Sub
按照上边的方法, 在 ComboBox1_MouseDown 里,像你上边说的,单击时选定文件再判断就可以搞掂了.另外:应当注意!在VB里子类化处理消息很容易导致整个IDE崩溃,所以应注意经常保存工作成果.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
尤洁留寅
2019-09-23 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.2万
采纳率:26%
帮助的人:1015万
展开全部
invokescript的第一个参数是方法名,不带参数不带符号,第二个是参数集合。
invokescript("changefield",{"this.form"})
以上信息供参考。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式