如何在VFP中防止按退格键时焦点移到上个控件

 我来答
虔诚且可靠灬茱萸1027
2013-10-19 · TA获得超过100个赞
知道答主
回答量:116
采纳率:100%
帮助的人:120万
展开全部
首先我们需要将所有VFP的基类自定义作为自己的类,比如TEXTBOX、EDITBOX等,虽然她是很简单的控件,但我们还是要这么去做,这是为以后的维护带来很多的方便,而且在本文的操作上也要求这么做,至于她的必要性及重要性,本文将不做详细介绍了。 当我们自定义了一个文本控件,比如叫TXT吧,那么在她的 KeyPress 事件中,写下如下代码:
if nKeyCode = 127 and this.SelStart = 0 and this.SelLength = 0NoDefaultendif意思是说,当键盘按了退格键(BackSpace),并且鼠标在文本控件中的选择字符的长度为零,并且光标在控件的最左端时,然后不发生任何事件,也即将原有的默认事件给屏蔽了,那么也就不会使焦点移到上一个控件了!原因:这里需要对控件中选择的字符以及光标所在的位置进行判断,因为在其他很多的情况下,我们还是需要利用退格键(BackSpace)来删除文本框中的字符,只有当光标已经被退到最左边,且没有选择字符时才禁止退格键(BackSpace)的默认功能!
需要注意的是:
如果你需要在表单的TXT文本控件的 KeyPress 中再加入其他的代码,请注意要先写上
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式