📄 mainmenu.mpr
字号:
* *********************************************************
* *
* * 10/10/05 MAINMENU.MPR 20:41:54
* *
* *********************************************************
* *
* * 作者名称
* *
* * 版权所有 (C) 2005 公司名称
* * 地址
* * 城市, 邮编
* * 国家
* *
* * 说明:
* * 此程序由 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[2]
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]="管理m"
a_menupops[2]="预览报表r"
ENDIF
* *********************************************************
* *
* * 菜单定义
* *
* *********************************************************
*
DEFINE MENU (m.cMenuName) IN (m.oFormRef.Name) BAR
DEFINE PAD _1mu18d3t7 OF (m.cMenuName) PROMPT "学年(\<Y)" COLOR SCHEME 3 ;
KEY ALT+Y, ""
DEFINE PAD _1mu18d3t8 OF (m.cMenuName) PROMPT "管理(\<M)" COLOR SCHEME 3 ;
KEY ALT+M, ""
DEFINE PAD _1mu18d3t9 OF (m.cMenuName) PROMPT "报表(\<R)" COLOR SCHEME 3 ;
KEY ALT+R, ""
DEFINE PAD _1mu18d3ta OF (m.cMenuName) PROMPT "退出(\<E)" COLOR SCHEME 3 ;
KEY ALT+E, ""
ON SELECTION PAD _1mu18d3t7 OF (m.cMenuName) Do Form NjxqForm.scx
ON PAD _1mu18d3t8 OF (m.cMenuName) ACTIVATE POPUP (a_menupops[1])
ON PAD _1mu18d3t9 OF (m.cMenuName) ACTIVATE POPUP (a_menupops[2])
ON SELECTION PAD _1mu18d3ta OF (m.cMenuName) ;
DO _1mu18d3tb ;
IN LOCFILE("VFPEX\MAINMENU" ,"MPX;MPR|FXP;PRG" ,"WHERE is MAINMENU?")
DEFINE POPUP (a_menupops[1]) MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF (a_menupops[1]) PROMPT "学生情况管理(\<X)"
DEFINE BAR 2 OF (a_menupops[1]) PROMPT "学生成绩管理(\<C)"
DEFINE BAR 3 OF (a_menupops[1]) PROMPT "成绩统计管理(\<T)"
ON SELECTION BAR 1 OF (a_menupops[1]) ;
DO _1mu18d3tc ;
IN LOCFILE("VFPEX\MAINMENU" ,"MPX;MPR|FXP;PRG" ,"WHERE is MAINMENU?")
ON SELECTION BAR 2 OF (a_menupops[1]) ;
DO _1mu18d3td ;
IN LOCFILE("VFPEX\MAINMENU" ,"MPX;MPR|FXP;PRG" ,"WHERE is MAINMENU?")
ON SELECTION BAR 3 OF (a_menupops[1]) ;
DO _1mu18d3te ;
IN LOCFILE("VFPEX\MAINMENU" ,"MPX;MPR|FXP;PRG" ,"WHERE is MAINMENU?")
DEFINE POPUP (a_menupops[2]) MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF (a_menupops[2]) PROMPT "预览学生成绩降序报表(\<Q)" ;
KEY CTRL+Q, "CTRL+Q"
DEFINE BAR 2 OF (a_menupops[2]) PROMPT "预览学生情况快速报表(\<K)" ;
KEY CTRL+K, "CTRL+K"
DEFINE BAR 3 OF (a_menupops[2]) PROMPT "预览性别分组统计报表(\<F)" ;
KEY CTRL+F, "CTRL+F"
DEFINE BAR 4 OF (a_menupops[2]) PROMPT "\-"
DEFINE BAR 5 OF (a_menupops[2]) PROMPT "打印学生成绩降序报表(\<M)" ;
KEY CTRL+M, "CTRL+M"
DEFINE BAR 6 OF (a_menupops[2]) PROMPT "打印学生情况快速报表(\<S)" ;
KEY CTRL+S, "CTRL+S"
DEFINE BAR 7 OF (a_menupops[2]) PROMPT "打印性别分组统计报表(\<Z)" ;
KEY CTRL+Z, "CTRL+Z"
ON SELECTION BAR 1 OF (a_menupops[2]) ;
DO _1mu18d3tf ;
IN LOCFILE("VFPEX\MAINMENU" ,"MPX;MPR|FXP;PRG" ,"WHERE is MAINMENU?")
ON SELECTION BAR 2 OF (a_menupops[2]) Report Form RPT2.FRX Preview
ON SELECTION BAR 3 OF (a_menupops[2]) ;
DO _1mu18d3tg ;
IN LOCFILE("VFPEX\MAINMENU" ,"MPX;MPR|FXP;PRG" ,"WHERE is MAINMENU?")
ON SELECTION BAR 5 OF (a_menupops[2]) ;
DO _1mu18d3th ;
IN LOCFILE("VFPEX\MAINMENU" ,"MPX;MPR|FXP;PRG" ,"WHERE is MAINMENU?")
ON SELECTION BAR 6 OF (a_menupops[2]) Report Form RPT2.FRX to Printer
ON SELECTION BAR 7 OF (a_menupops[2]) ;
DO _1mu18d3ti ;
IN LOCFILE("VFPEX\MAINMENU" ,"MPX;MPR|FXP;PRG" ,"WHERE is MAINMENU?")
ACTIVATE MENU (m.cMenuName) NOWAIT
IF m.cTypeParm2 = "C"
m.getMenuName = m.cMenuName
m.oFormRef.Name = m.cSaveFormName
ENDIF
* *********************************************************
* *
* * _1MU18D3TB ON SELECTION PAD
* *
* * Procedure Origin:
* *
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -