*****带菜单的表单的做法
*****首先要建立一个顶层表单,即表单的ShowWindow=2,然后在该表单的Init事件中写:
*****DO MENU.PRG WITH THIS,.T.
**下面是menu.prg程序生成菜单的定义
*************************************************************************
LPARAMETER oFormRef,getMenuName
LOCAL cMenuName && 菜单名称
if TYPE("m.oFormRef") # "O" OR LOWER(m.oFormRef.BaseClass) # 'form' OR m.oFormRef.ShowWindow # 2
WAIT "此菜单只能被顶层表单调用!" window at 18,50 TIMEOUT 3
RETURN
endif
m.cMenuName = Iif(TYPE("m.getMenuName")="C",m.getMenuName,SYS(2015))
if TYPE("m.getMenuName")="L" AND m.getMenuName
m.oFormRef.Name = m.cMenuName
endif
DEFINE MENU (m.cMenuName) IN (m.oFormRef.Name) BAR
*****************************************************************
**上面的代码是需要增加的代码,是带菜单的表单所要的。
*****************************************************************
**以下的是菜单代码,可以从菜单生成器中生成***********************
*****************************************************************
**上面两行星之间的是由向导作出菜单进编译后生成的MPR的文件部分SET SYSMENU TO和SET SYSMENU AUTOMATIC两行,
**可从生成的MPR文件中复制出再粘贴过来,注意变量 (m.cMenuName) 是菜单是名称,向导作出的一般为 _MSYSMENU,
**可用查找替换法进行替换。
**下面的代码是需要增加的代码,是带菜单的表单所要的。
ACTIVATE MENU (m.cMenuName) NOWAIT
*****************************************************************