📄 main_menu.mpr
字号:
* *********************************************************
* *
* * 06/29/07 MAIN_MENU.MPR 10:20:25
* *
* *********************************************************
* *
* * 作者名称
* *
* * 版权所有 (C) 2007 公司名称
* * 地址
* * 城市, 邮编
* * 国家
* *
* * 说明:
* * 此程序由 GENMENU 自动生成。
* *
* *********************************************************
* To attach this menu to your Top-Level form,
* call it from the Init event of the form:
* Syntax: DO <mprname> WITH <oFormRef> [,<cMenuname>|<lRename>][<lUniquePopups>]
* oFormRef - form object reference (THIS)
* cMenuname - name for menu (this is required for Append menus - see below)
* lRename - renames Name property of your form
* lUniquePopups - determines whether to generate unique ids for popup names
* example:
* PROCEDURE Init
* DO mymenu.mpr WITH THIS,.T.
* ENDPROC
* Use the optional 2nd parameter if you plan on running multiple instances
* of your Top-Level form. The preferred method is to create an empty string
* variable and pass it by reference so you can receive the form name after
* the MPR file is run. You can later use this reference to destroy the menu.
* PROCEDURE Init
* LOCAL cGetMenuName
* cGetMenuName = ""
* DO mymenu.mpr WITH THIS, m.cGetMenuName
* ENDPROC
* The logical lRename parameter will change the name property of your
* form to the same name given the menu and may cause conflicts in your
* code if you directly reference the form by name.
* You will also need to remove the menu when the form is destroyed so that it does
* not remain in memory unless you wish to reactivate it later in a new form.
* If you passed the optional lRename parameter as .T. as in the above example,
* you can easily remove the menu in the form's Destroy event as shown below.
* This strategy is ideal when using multiple instances of Top-Level forms.
* example:
* PROCEDURE Destroy
* RELEASE MENU (THIS.Name) EXTENDED
* ENDPROC
* Using Append/Before/After location options:
* You might want to append a menu to an existing Top-Level form by setting
* the Location option in the General Options dialog. In order to do this, you
* must pass the name of the menu in which to attach the new one. The second
* parameter is required here. If you originally created the menu with the lRename
* parameter = .T., then you can update the menu with code similar to the following:
* example:
* DO mymenu2.mpr WITH THISFORM,THISFORM.name
*
* Using lUniquePopups:
* If you are running this menu multiple times in your application, such as in multiple
* instances of the same top-level form, you should pass .T. to the lUniquePopups
* parameter so that unique popup names are generated to avoid possible conflicts.
* example:
* PROCEDURE Init
* DO mymenu.mpr WITH THIS,.T.,.T.
* ENDPROC
*
* Note: Parm4-Parm9 are not reserved and freely available for use with your menu code.
*
LPARAMETERS oFormRef, getMenuName, lUniquePopups, parm4, parm5, parm6, parm7, parm8, parm9
LOCAL cMenuName, nTotPops, a_menupops, cTypeParm2, cSaveFormName
IF TYPE("m.oFormRef") # "O" OR ;
LOWER(m.oFormRef.BaseClass) # 'form' OR ;
m.oFormRef.ShowWindow # 2
MESSAGEBOX([只能从顶层表单调用该菜单。请确认您表单的 ShowWindow 属性已设为 2。阅读此菜单 MPR 文件的头部分,可以获得详细信息。])
RETURN
ENDIF
m.cTypeParm2 = TYPE("m.getMenuName")
m.cMenuName = SYS(2015)
m.cSaveFormName = m.oFormRef.Name
IF m.cTypeParm2 = "C" OR (m.cTypeParm2 = "L" AND m.getMenuName)
m.oFormRef.Name = m.cMenuName
ENDIF
IF m.cTypeParm2 = "C" AND !EMPTY(m.getMenuName)
m.cMenuName = m.getMenuName
ENDIF
DIMENSION a_menupops[6]
IF TYPE("m.lUniquePopups")="L" AND m.lUniquePopups
FOR nTotPops = 1 TO ALEN(a_menupops)
a_menupops[m.nTotPops]= SYS(2015)
ENDFOR
ELSE
a_menupops[1]="_mfile"
a_menupops[2]="_medit"
a_menupops[3]="撤消u"
a_menupops[4]="查询v"
a_menupops[5]="统计t"
a_menupops[6]="打印p"
ENDIF
* *********************************************************
* *
* * 菜单定义
* *
* *********************************************************
*
DEFINE MENU (m.cMenuName) IN (m.oFormRef.Name) BAR
DEFINE PAD _msm_file OF (m.cMenuName) PROMPT "文件(\<F)" COLOR SCHEME 3 ;
NEGOTIATE LEFT, NONE ;
KEY ALT+F, "" ;
MESSAGE "创建、打开、保存、打印文件或退出 Visual FoxPro"
DEFINE PAD _msm_edit OF (m.cMenuName) PROMPT "编辑(\<E)" COLOR SCHEME 3 ;
NEGOTIATE NONE, LEFT ;
KEY ALT+E, "" ;
MESSAGE "编辑文本或当前选定内容"
DEFINE PAD _msm_view OF (m.cMenuName) PROMPT "查询(\<V)" COLOR SCHEME 3 ;
NEGOTIATE NONE, LEFT ;
KEY ALT+V, "" ;
MESSAGE "设置显示选项"
DEFINE PAD _24d0m5vi0 OF (m.cMenuName) PROMPT "统计(\<T)" COLOR SCHEME 3 ;
KEY ALT+T, ""
DEFINE PAD _24d0m5vi1 OF (m.cMenuName) PROMPT "打印(\<P)" COLOR SCHEME 3 ;
KEY ALT+P, ""
DEFINE PAD _24d0m5vi2 OF (m.cMenuName) PROMPT "退出(\<X)" COLOR SCHEME 3 ;
KEY ALT+X, ""
ON PAD _msm_file OF (m.cMenuName) ACTIVATE POPUP (a_menupops[1])
ON PAD _msm_edit OF (m.cMenuName) ACTIVATE POPUP (a_menupops[2])
ON PAD _msm_view OF (m.cMenuName) ACTIVATE POPUP (a_menupops[4])
ON PAD _24d0m5vi0 OF (m.cMenuName) ACTIVATE POPUP (a_menupops[5])
ON PAD _24d0m5vi1 OF (m.cMenuName) ACTIVATE POPUP (a_menupops[6])
ON SELECTION PAD _24d0m5vi2 OF (m.cMenuName) QUIT
DEFINE POPUP (a_menupops[1]) MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR _mfi_new OF (a_menupops[1]) PROMPT "新建(\<N)..." ;
KEY CTRL+N, "Ctrl+N" ;
MESSAGE "创建新文件"
DEFINE BAR _mfi_open OF (a_menupops[1]) PROMPT "打开(\<O)..." ;
KEY CTRL+O, "Ctrl+O" ;
MESSAGE "打开已有文件"
DEFINE BAR _mfi_close OF (a_menupops[1]) PROMPT "关闭(\<C)" ;
MESSAGE "关闭当前文件"
DEFINE BAR _mfi_save OF (a_menupops[1]) PROMPT "保存(\<S)" ;
KEY CTRL+S, "Ctrl+S" ;
MESSAGE "保存当前改动了的文件"
DEFINE POPUP (a_menupops[2]) MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF (a_menupops[2]) PROMPT "档案数据(\<U)" ;
KEY CTRL+Z, "Ctrl+Z" ;
MESSAGE "撤消上一次命令或操作"
DEFINE BAR 2 OF (a_menupops[2]) PROMPT "工资数据(\<D)" ;
MESSAGE "重复上一次命令或操作"
DEFINE BAR _med_sp100 OF (a_menupops[2]) PROMPT "\-"
DEFINE BAR 4 OF (a_menupops[2]) PROMPT "增加员工(\<T)"
DEFINE BAR 5 OF (a_menupops[2]) PROMPT "删除员工(\<C)"
DEFINE BAR _med_sp400 OF (a_menupops[2]) PROMPT "\-"
DEFINE BAR _med_insob OF (a_menupops[2]) PROMPT "插入对象(\<I)..." ;
MESSAGE "在通用类型字段中嵌入一个对象"
ON BAR 1 OF (a_menupops[2]) ACTIVATE POPUP (a_menupops[3])
ON SELECTION BAR 4 OF (a_menupops[2]) DO FORM E:\期末作业\添加员工
ON SELECTION BAR 5 OF (a_menupops[2]) DO FORM E:\期末作业\删除员工
DEFINE POPUP (a_menupops[3]) MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF (a_menupops[3]) PROMPT "所有员工"
DEFINE BAR 2 OF (a_menupops[3]) PROMPT "指定员工"
ON SELECTION BAR 1 OF (a_menupops[3]) DO FORM E:\期末作业\编辑档案
ON SELECTION BAR 2 OF (a_menupops[3]) DO FORM E:\期末作业\查找编号
DEFINE POPUP (a_menupops[4]) MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF (a_menupops[4]) PROMPT "顺序查询(\<R)" ;
MESSAGE "显示、隐藏或定制工具栏"
DEFINE BAR 2 OF (a_menupops[4]) PROMPT "编号查询(\<K)"
ON SELECTION BAR 1 OF (a_menupops[4]) do form e:\期末作业\查询档案
ON SELECTION BAR 2 OF (a_menupops[4]) do form e:\期末作业\查找编号
DEFINE POPUP (a_menupops[5]) MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF (a_menupops[5]) PROMPT "统计数据(\<M)"
ON SELECTION BAR 1 OF (a_menupops[5]) do form E:\期末作业\统计数据
DEFINE POPUP (a_menupops[6]) MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF (a_menupops[6]) PROMPT "档案报表(\<Q)"
DEFINE BAR 2 OF (a_menupops[6]) PROMPT "工资报表(\<W)"
DEFINE BAR 3 OF (a_menupops[6]) PROMPT "工资排序(\<L)"
DEFINE BAR 4 OF (a_menupops[6]) PROMPT "工资条(\<H)"
ON SELECTION BAR 1 OF (a_menupops[6]) report form E:\期末作业\档案报表
ON SELECTION BAR 2 OF (a_menupops[6]) report form E:\期末作业\工资报表
ON SELECTION BAR 3 OF (a_menupops[6]) report form E:\期末作业\工资报表
ON SELECTION BAR 4 OF (a_menupops[6]) label form E:\期末作业\工资条
ACTIVATE MENU (m.cMenuName) NOWAIT
IF m.cTypeParm2 = "C"
m.getMenuName = m.cMenuName
m.oFormRef.Name = m.cSaveFormName
ENDIF
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -