如何隐藏菜单?

dywfada 2011-07-11 02:09:20
不是将整个菜单全部隐藏,我是想将菜单中的某个菜单项隐藏。
...全文
160 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
十豆三 2011-07-11
  • 打赏
  • 举报
回复


设计菜单后,将菜单生成MPR,然后用文本打开MPR菜单,将全部内容(注释可不要)复制到顶层表单的Init事件中
但要在

Local cMenuName, nTotPops, a_menupops, cTypeParm2, cSaveFormName
之后加
oFormRef=This
getMenuName=.T.

这样就可以显示菜单了。
这样的好处在于可以动态菜单,因为可以根据条件加载不同的代码来实现不同的菜单。
当然也可以设计不同的菜单,但感觉这样更容易操作一些。
十豆三 2011-07-11
  • 打赏
  • 举报
回复


隐藏及恢复某一项菜单示例
*-----------------------
by:dkfdtf
http://topic.csdn.net/u/20090614/19/7293876d-acb0-4ce0-a04e-9b530d75a4b0.html

loForm = Newobject('MyForm')
loForm.Show()
Read Events

Define Class MyForm As Form
Width = 190
Height = 220
AutoCenter = .T.
Procedure Init
This.Newobject('cmd1', 'cmd1')
This.Newobject('cmd2', 'cmd2')
This.Newobject('cmd3', 'cmd3')
This.cmd1.Move(36, 48, 108, 27)
This.cmd2.Move(36, 96, 108, 27)
This.cmd3.Move(36, 144, 108, 27)
Endproc
Procedure QueryUnload
Wait Clear
Set Sysmenu To Default
Clear Events
Endproc
Enddefine

Define Class cmd1 As CommandButton
Caption = '装入定制菜单'
Visible = .T.
Procedure Click
Set Sysmenu To
Set Sysmenu Automatic
Define Pad _2qi03i6lu Of _Msysmenu Prompt "aaa"
Define Pad _2qi03i6lv Of _Msysmenu Prompt "mmm2"
Define Pad _2qi03i6lw Of _Msysmenu Prompt "mmm3"
On Pad _2qi03i6lu Of _Msysmenu Activate Popup aaa
Define Popup aaa Margin Relative Shadow Color Scheme 4
Define Bar 1 Of aaa Prompt "bbb"
On Bar 1 Of aaa Activate Popup bbb
Define Popup bbb Margin Relative Shadow Color Scheme 4
Define Bar 1 Of bbb Prompt "ccc"
On Bar 1 Of bbb Activate Popup ccc
Define Popup ccc Margin Relative Shadow Color Scheme 4
Define Bar 1 Of ccc Prompt "ddd"
Define Bar 2 Of ccc Prompt "eee"
Wait Window Nowait Noclear '现在的菜单 aaa->bbb->ccc->ddd 可见.'
Endproc
Enddefine
Define Class cmd2 As CommandButton
Caption = '隐藏 ddd 菜单项'
Visible = .T.
Procedure Click
*隐藏
Push Menu _Msysmenu
Release Bar 1 Of ccc
*隐藏
Wait Window Nowait Noclear '现在 ddd 已隐藏.'
Endproc
Enddefine
Define Class cmd3 As CommandButton
Caption = '恢复 ddd 菜单项'
Visible = .T.
Procedure Click
Pop Menu _Msysmenu &&恢复
Wait Window Nowait Noclear '现在 ddd 又可见了.'
Endproc
Enddefine
十豆三 2011-07-11
  • 打赏
  • 举报
回复
加载不同的菜单。

2,749

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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