如何对vb你面的菜单进行处理

gejun2000 2002-11-06 09:08:55
请问如何对菜单你面的菜单条进行控制,设定菜单条的可效和不可效
需要是用程序语言实现
大家帮帮忙呀
在线等待~~~~~~~~~~~~~
...全文
36 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
holydiablo 2002-11-07
  • 打赏
  • 举报
回复
直接调整菜单的属性不就行了吗
例如:
mnufile.enable=false
mnufile.visible=false
zyl910 2002-11-06
  • 打赏
  • 举报
回复
这样可以清除菜单栏:SetMenu me.hWnd, 0
由于需要再显示,所以需要先前用GetMenu取得原来的菜单句柄
设置后,最好用DrawMenuBar重画菜单栏



SetMenu

VB声明
Declare Function SetMenu Lib "user32" Alias "SetMenu" (ByVal hwnd As Long, ByVal hMenu As Long) As Long
说明
设置窗口菜单
返回值
Long,非零表示成功,零表示失败。会设置GetLastError
参数表
参数 类型及说明
hwnd Long,窗口的句柄
hMenu Long,窗口的新菜单的句柄
注解
不建议在vb里使用这个函数。如坚持使用,务必留意新菜单中的命令ID并不兼容于原始的vb窗口。只有窗体窗口才应通过这个函数指定。窗口的前一个菜单不会由这个函数删除






GetMenu

VB声明
Declare Function GetMenu Lib "user32" Alias "GetMenu" (ByVal hwnd As Long) As Long
说明
取得窗口中一个菜单的句柄
返回值
Long,依附于指定窗口的一个菜单的句柄(如果有菜单);否则返回零
参数表
参数 类型及说明
hwnd Long,窗口句柄。对于vb,这应该是一个窗体句柄。注意可能不是子窗口的句柄



DrawMenuBar

VB声明
Declare Function DrawMenuBar Lib "user32" Alias "DrawMenuBar" (ByVal hwnd As Long) As Long
说明
为指定的窗口重画菜单。用api函数改变一个窗口菜单的内容时,就要用到这个函数
返回值
Long,非零表示成功,零表示失败。会设置GetLastError
参数表
参数 类型及说明
hwnd Long,要重画菜单栏的窗口的句柄
注解
在vb里很少有必要用到这个函数,因为不应该用api函数来改变一个窗口的顶级菜单栏

1,065

社区成员

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

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