VFP辅导:VFP右键功能

2026-03-23
用其他语言做的软件,其TEXT、EDIT、COMBOX等都有右键功能, 即一按右键就会在其对象旁弹出一个这样的菜单,惟独VFP做的程序没有,您说气不气人。
  下面就是该功能实现的方法:
  先介绍几个需要用到常数,这里所说的常数,是系统默认的常数,也就是在编辑时会以蓝色显示的字符。
这些常数是:
常数名 所代表的含义
_med_undo "撤消(U)"
_med_cut "剪切(T)"
_med_copy "复制(C)"
_med_paste "粘贴(P)"
_med_clear "删除(D)"
_med_slcta "全选(A)"

第一步我们在COMMAND窗口打:
MODIFY COMMAND remouse.prg

在编辑窗内输入如下内容:
DEFINE POPUP popRight SHORTCUT RELATIVE FROM MROW(),MCOL()
DEFINE BAR _med_undo OF popRight PROMPT "撤消(\DEFINE BAR 2 OF popRight PROMPT "\-"
DEFINE BAR _med_cut OF popRight PROMPT "剪切(\DEFINE BAR _med_copy OF popRight PROMPT "复制(\DEFINE BAR _med_paste OF popRight PROMPT "粘贴(\DEFINE BAR _med_clear OF popRight PROMPT "删除(\DEFINE BAR 7 OF popRight PROMPT "\-"
DEFINE BAR _med_slcta OF popRight PROMPT "全选(\ACTIVATE POPUP popRight

存盘退出。

  这样我们就建立了一个名为remouse.prg的文件。
  接下来我们就可在需要右键功能对象的RinhtClick事件里写入:

do remouse

好了,我们的程序也有右键功能了,就这么简单,不信您试试。
  这个方法不足的是,必须在每个需要右键功能的对象里都写上:do remouse这一句,但比起借用外部程序来达到这个目的,我觉得还是这个方法好。