注册 登录
编程论坛 VFP论坛

具备 KeyPress 事件 的对象 如何添加 Ctrl +按键 的热键功能

easyppt 发布于 2023-06-15 10:35, 752 次点击
具备 KeyPress 事件 的对象 比如:Textbox  ,当按下  Ctrl + F 不会触发  KeyPress 事件。

如何才能 让 Ctrl + 按键  起作用?
4 回复
#2
cssnet2023-06-15 11:19
ON KEY LABEL 试试?
或者,定义一个右键菜单,在菜单项中设置快捷键。这个右键菜单不一定要显示出来,纯借用快捷键亦可。
不过,如此一来,全局接管快捷键,可能需要写一段do case...endcase,判断一下,当前是哪个文本框或编辑框获得了焦点,好相应地针对性处理。


[此贴子已经被作者于2023-6-15 15:21编辑过]

#3
吹水佬2023-06-15 14:51
顶层表单KeyPress可以有Ctrl+F,但也不是 Ctrl+按键 都可以触发,有些可能是系统定义了的快捷键。
#4
sam_jiang2023-06-15 15:01
textbox的ctrl+F没有定义啊,你直接给它的keypress事件写代码不就完了。

*keypress事件
nodefault
if nkeycode=102 .and. nshiftaltctrl=2 && ctrl+F
    do something
else
    dodefault()
endif


[此贴子已经被作者于2023-6-15 15:14编辑过]

#5
吹水佬2023-06-15 16:27
也可用 ON KEY LABEL 来定义 CTRL+按键 的自定义过程,如:
ON KEY LABEL CTRL+F OnKey_Ctrl_F()
在 OnKey_Ctrl_F() 中检测处理表单控件的CTRL+F

1