📄 menu.mpr
字号:
* *********************************************************
* *
* * 12/30/07 MENU.MPR 13:10:27
* *
* *********************************************************
* *
* * 作者名称
* *
* * 版权所有 (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]="检索"
a_menupops[4]="显示v"
a_menupops[5]="借还r"
a_menupops[6]="帮助h"
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 _29h0s8jn5 OF (m.cMenuName) PROMPT "检索(\<S)" COLOR SCHEME 3 ;
KEY ALT+S, ""
DEFINE PAD _msm_view OF (m.cMenuName) PROMPT "显示(\<V)" COLOR SCHEME 3 ;
NEGOTIATE NONE, LEFT ;
KEY ALT+V, "" ;
MESSAGE "设置显示选项"
DEFINE PAD _29h0s8jn6 OF (m.cMenuName) PROMPT "借还(\<R)" COLOR SCHEME 3 ;
KEY ALT+R, ""
DEFINE PAD _msm_systm OF (m.cMenuName) PROMPT "帮助(\<H)" COLOR SCHEME 3 ;
NEGOTIATE NONE, RIGHT ;
KEY ALT+H, "" ;
MESSAGE "显示 Visual FoxPro 的帮助信息"
DEFINE PAD _29h0s8jn7 OF (m.cMenuName) PROMPT "退出系统(\<Q)" COLOR SCHEME 3 ;
KEY ALT+Q, ""
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 _29h0s8jn5 OF (m.cMenuName) ACTIVATE POPUP (a_menupops[3])
ON PAD _msm_view OF (m.cMenuName) ACTIVATE POPUP (a_menupops[4])
ON PAD _29h0s8jn6 OF (m.cMenuName) ACTIVATE POPUP (a_menupops[5])
ON PAD _msm_systm OF (m.cMenuName) ACTIVATE POPUP (a_menupops[6])
ON SELECTION PAD _29h0s8jn7 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_sp100 OF (a_menupops[1]) PROMPT "\-"
DEFINE BAR _mfi_save OF (a_menupops[1]) PROMPT "保存(\<S)" ;
KEY CTRL+S, "Ctrl+S" ;
MESSAGE "保存当前改动了的文件"
DEFINE BAR _mfi_savas OF (a_menupops[1]) PROMPT "另存为(\<A)..." ;
MESSAGE "用新文件名保存当前改动了的文件"
DEFINE BAR _mfi_close OF (a_menupops[1]) PROMPT "关闭(\<C)" ;
MESSAGE "关闭当前文件"
DEFINE POPUP (a_menupops[2]) MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF (a_menupops[2]) PROMPT "更改口令(\<C)"
DEFINE BAR 2 OF (a_menupops[2]) PROMPT "学生信息(\<S)"
DEFINE BAR 3 OF (a_menupops[2]) PROMPT "图书编辑(\<B)"
ON SELECTION BAR 1 OF (a_menupops[2]) do form dbap with xno
ON SELECTION BAR 2 OF (a_menupops[2]) do form editstu
ON SELECTION BAR 3 OF (a_menupops[2]) do form editbook
DEFINE POPUP (a_menupops[3]) MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF (a_menupops[3]) PROMPT "分类检索(\<C)"
DEFINE BAR 2 OF (a_menupops[3]) PROMPT "图书查询(\<Q)"
DEFINE BAR 3 OF (a_menupops[3]) PROMPT "畅销图书(\<B)"
ON SELECTION BAR 1 OF (a_menupops[3]) do form bookquery
ON SELECTION BAR 2 OF (a_menupops[3]) do form book
DEFINE POPUP (a_menupops[4]) MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF (a_menupops[4]) PROMPT "书库图书(\<A)"
DEFINE BAR 2 OF (a_menupops[4]) PROMPT "所借图书(\<B)"
DEFINE BAR 3 OF (a_menupops[4]) PROMPT "个人资料(\<P)"
ON SELECTION BAR 1 OF (a_menupops[4]) do form bookbrow
ON SELECTION BAR 2 OF (a_menupops[4]) do form my book with xno
ON SELECTION BAR 3 OF (a_menupops[4]) do form personal
DEFINE POPUP (a_menupops[5]) MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF (a_menupops[5]) PROMPT "读者还书(\<R)"
DEFINE BAR 2 OF (a_menupops[5]) PROMPT "读者借书(\<B)"
DEFINE BAR 3 OF (a_menupops[5]) PROMPT "罚款次数(\<P)"
ON SELECTION BAR 1 OF (a_menupops[5]) do form sturetn
ON SELECTION BAR 2 OF (a_menupops[5]) do form stubw
DEFINE POPUP (a_menupops[6]) MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF (a_menupops[6]) PROMPT "如何使用(\<H)"
DEFINE BAR 2 OF (a_menupops[6]) PROMPT "再线帮助(\<L)"
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 + -