正文

气死看星星这一类软件2005-09-29 12:59:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/iamben250/5450.html

分享到:

抱歉,据我再次测试,这个程序在某些时候会出问题。
所谓的某些时候就是指:我在一个普通文本框中迅速地按键,然后突然用鼠标点击经过这个程序处理过的文本框时,让它获得了焦点,这时,变量中就会记录下获得焦点之后的输入,但是,文本框中没有显示。
我想,可能是文本框获得焦点后就可以获取KeyPress和KeyDown事件,但是在一段时间内它不会对输入作出响应。
于是,我修改程序,害我增加了两个辅助变量。

修正版如下:

Dim Pws As String, Keya As Integer, Keyl As Integer

Private Sub TexPW_Change()
Select Case Keya
Case 8, 46
    If Keyl = 0 Then
        Pws = Left(Pws, TexPW.SelStart) & Mid(Pws, TexPW.SelStart + 2)
    Else
        Pws = Left(Pws, TexPW.SelStart) & Mid(Pws, TexPW.SelStart + Keyl + 1)
    End If
Case Else
    Pws = Left(Pws, TexPW.SelStart - 1) & Chr(Keya) & Mid(Pws, TexPW.SelStart + Keyl)
End Select
End Sub

Private Sub TexPW_KeyDown(KeyCode As Integer, Shift As Integer)
Keya = KeyCode: Keyl = TexPW.SelLength
End Sub

Private Sub TexPW_KeyPress(KeyAscii As Integer)
Keya = KeyAscii: Keyl = TexPW.SelLength
Select Case KeyAscii
Case Is < 0:    KeyAscii = -24071
Case 8
Case 13:    KeyAscii = 0
Case Else:    KeyAscii = 42
End Select
End Sub

签名档

阅读(2670) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册