楼主的问题有三种解决思路:
1. 采用将当前表单定义为全局变量的方法,虽然可行,但我认为是“下策”,原因请参考“开发漫谈(22)”最后一段。
2. 我在三楼给出的方案,是通过将当前表单传递给菜单中的私有变量(Private),可列为“中策”。
3. 如果楼主熟悉相关的菜单处理命令和函数,可直接在RightClick中对菜单进行定义和处理,代码更为简捷,可以直接引用 THISFORM,可列为“上策”。表格右键代码参考如下:
 程序代码:
程序代码:
[ 本帖最后由 liuxingang28 于 2014-5-19 12:02 编辑 ]
	
	
			1. 采用将当前表单定义为全局变量的方法,虽然可行,但我认为是“下策”,原因请参考“开发漫谈(22)”最后一段。
2. 我在三楼给出的方案,是通过将当前表单传递给菜单中的私有变量(Private),可列为“中策”。
3. 如果楼主熟悉相关的菜单处理命令和函数,可直接在RightClick中对菜单进行定义和处理,代码更为简捷,可以直接引用 THISFORM,可列为“上策”。表格右键代码参考如下:
 程序代码:
程序代码:* 定义菜单
DEACTIVATE POPUP mnuPrint
DEFINE POPUP mnuPrint SHORTCUT RELATIVE FROM MROW(),MCOL()
DEFINE BAR 1 OF mnuPrint PROMPT '预览当前户家庭档案卡'
DEFINE BAR 2 OF mnuPrint PROMPT '打印当前户家庭档案卡'
DEFINE BAR 3 OF mnuPrint PROMPT '打印查询结果家庭档案卡'
DEFINE BAR 4 OF mnuPrint PROMPT '批量打印家庭档案卡'
* 激活菜单
ON SELECTION POPUP mnuPrint DEACTIVATE POPUP mnuPrint
ACTIVATE POPUP mnuPrint
RELEASE POPUPS mnuPrint
* 根据选择的菜单项,做相应处理
LOCAL nBar
nBar = BAR()
DO CASE
CASE nBar = 1    && 预览当前户
    THISFORM.Image6.Visible = .f.
    THISFORM.Check7.Value = 0
    * ……
CASE nBar = 2    && 打印当前户
    * ……
CASE nBar = 3    && 打印查询结果
    * ……
CASE nBar = 4    && 批量打印
    * ……
ENDCASE[ 本帖最后由 liuxingang28 于 2014-5-19 12:02 编辑 ]

泉城飞狐



 
											







 
	    

 
	


 ,经过代码测试,第二种和第三种的处理速度一样的。
,经过代码测试,第二种和第三种的处理速度一样的。 全局内存变量多副本实验.rar
全局内存变量多副本实验.rar