在VB中如何让状态条与菜单项关联(十万火急!!!)

bluekid 2000-03-23 09:26:00
在VB中,当鼠标指针指向某一菜单项时,如何在状态条中同步显示其提示信息?
谢谢!谢谢!谢谢!
...全文
257 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
langyangr 2000-04-04
  • 打赏
  • 举报
回复
加一个工具状态栏 Bar1
在你菜单中的Mouse_move事件中响应:
Bar1.Panels.Item(2).Text = "你的提示"
major2 2000-04-04
  • 打赏
  • 举报
回复
别听他们瞎说,菜单项哪里来的什么MOUSEMOVE事件!!!!!VB里的菜单项只有一个事件,就是Click事件。还是用我的方法比较好。绝对可行
major2 2000-04-03
  • 打赏
  • 举报
回复
不知道你的问题解决了没有,我倒知道一个绝对可行的方法
先到一个叫新VB的网站去下一个MIKO控件集,按照说明安装好后会有一个MessageTrap控件,会在有消息发生时产生一个消息陷阱的事件。具体的用法是先在窗体上放一个这种控件,比如取名叫msgtrap1,然后在form_load事件中写一句msgtrap1.add me.hwnd
然后在msgtrap1_message事件中判断消息。
要用到API函数GetMenu 和 GetSubMenu,先读出你的所有菜单(不是菜单项)的句柄。再定义一个全局常量Public Const WM_MENUSELECT = &H11F(鼠标或键盘光标移动在某一菜单项上时会发生在菜单所在窗体上)。
在msgtrap1_message中,有四个参数,其中hwnd不用判断(因为你只给控件加了一个响应窗体),umsg就是被截取到的消息编码,要判断一下是不是WM_MENUSELECT消息,wparam是一个带符号的长整数,它的低16位代表了当前光标所在的菜单项的索引号,可以自己定义一个 lIndex as Long,然后在程序中赋值 lIndex=wparam and &HFFFF& 来获得这个菜单索引号,lparam是发生消息的菜单句柄,用来判断索引号所指的菜单项是在第几级的菜单上。也可以自己先写个测试程序把自己的所有菜单项的索引号一一找出来,反正每次程序运行时句柄会变而索引号是不变的,先测出来也有好处,以后代码就可以定死了,省得一遍遍地去调用API函数。以后的程序你应该自己会写了吧。如果你在网上找不到我说的那套控件集,请发个EMAIL我,我给你发过来好了,有不清楚的话也可以EMAIL我,我给你详细讲。
major2@263.net
sxshao 2000-03-29
  • 打赏
  • 举报
回复
是 point 还是 Click?
sunbn 2000-03-27
  • 打赏
  • 举报
回复
调用winAPI 可以轻松解决此问题,如不急的话我明天给你查一下.
Chen_Lin 2000-03-27
  • 打赏
  • 举报
回复
用VB实在是太难作到此效果。但是在VC下却是非常简单。
我 mail给你。是一个免费的OCX,用来实现此种效果。
Un1 2000-03-24
  • 打赏
  • 举报
回复
VB 默认的菜单很难作到此效果,不过你可以使用类似 ActiveBar2 这样的菜单控件轻易做到。
Janven 2000-03-24
  • 打赏
  • 举报
回复
在相应的mouse_move事件加入
sbStatusBar.Panels(1).Text = "你的提示"
always 2000-03-24
  • 打赏
  • 举报
回复
这其实很简单,主要是响应mouse_move事件,我的email:woxx@263.net,我可以
给你写一段程序。

7,757

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧