楼主的问题有三种解决思路:
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 编辑 ]
泉城飞狐