VB自定义HOTKEY控件中的光标问题 20
用text控件制作一个HotKey控件,想设置光标永远在文本最后面,并且不能选择文本?包括按Left、Home、Up等键,以及鼠标点击,都始终让光标位置在最后不变!我用下...
用text控件制作一个HotKey控件,想设置光标永远在文本最后面,并且不能选择文本? 包括按Left、Home、Up等键 ,以及鼠标点击,都始终让光标位置在最后不变! 我用下面的这段代码能实现 ,但如前所述,效果不佳。
txt.SelStart = Len(txt.Text)
txt.SelLength = 0
请问有更好的方法吗? 就像windows系统的快捷方式里那个 “快捷键” 设置控件的效果那样,无论按什么键、怎么点鼠标,文本都不会被选定,且光标都在文本最后。 展开
txt.SelStart = Len(txt.Text)
txt.SelLength = 0
请问有更好的方法吗? 就像windows系统的快捷方式里那个 “快捷键” 设置控件的效果那样,无论按什么键、怎么点鼠标,文本都不会被选定,且光标都在文本最后。 展开
1个回答
展开全部
Private Sub Text1_GetFocus()
Text1.SetFocus
SendKeys "^{END}"
End Sub
更多追问追答
追问
根本没有我想要的效果,鼠标照样可以选择文本呀!? 按键 Shift + Left / Home等也照样可以选择文本。 麻烦考虑好了再回复好吗?
追答
上述代码经过测试,完全可用,题主不可用的话可以考虑如下另几种方式:
1、让 Text1 始终处于失去焦点的状态,用 Timer 也好,用 Text1_GetFocus() (也可能是 Text1_Focus(),因为我手头的是 VB.net 没有 VB6 的,上述代码也是在 .net 下测试通过的)也好。
2、禁止 Text1 输入:
Text1.Lock = True
3、屏蔽 Text1 的鼠标按键和键盘按键:
Private Sub Text1_KeyPress(KeyAscii As Integer)
KeyAscii = 0
End Sub
Private Sub Text1_mousedown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 2 Then '判断鼠标右键的使用
MsgBox "请不要使用鼠标右键", , "警告"
End if
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
微测检测5.10
2023-05-10 广告
2023-05-10 广告
您好!建议咨 深圳市微测检测有限公司,已建立起十余个专业实验室,企业通过微测检测就可以获得一站式的测试与认 证解决方案;(EMC、RF、MFi、BQB、QI、USB、安全、锂电池、快充、汽车电子EMC、汽车手机互 联、语音通话质量),认证遇...
点击进入详情页
本回答由微测检测5.10提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询