专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »数据库 » 匹配任意字符:[原创]实现任意文本框的字符插入 »正文

匹配任意字符:[原创]实现任意文本框的字符插入

来源: 发布时间:星期四, 2009年2月12日 浏览:78次 评论:0


实现任意文本框插入

在access窗体中个窗体下有多个子窗体个子窗体又有多个文本框当在文本框输入时往往需要插入(比如些特殊以组合框列表存放)类似于记事本插入但记事本由于只有个窗口(即个文本框)而窗体中有多个文本框不可能对每个文本框进行编码原来以为需要api等但没有成功摸索许久的后发现通过screen对象里些思路方法能很简单解决上述问题

前提:假设个窗体中个文本框(txt)个组合框(cbo)文本框用于输入组合框存放
目标:文本框输入时点击组合框值该值能插入到文本框已选中位置

基本思路:
 (1) 鼠标点击组合框前用全局变量记录下光标位置(selstart,sellength)窍门技巧:在鼠标移到组合框时发生事件此时光标还停留在文本框位置
        IntStart = Screen.ActiveControl.SelStart
        Sellength = Screen.ActiveControl.SelLength
 (2) 选中组合框后将光标还回文本框并且通过原来光标位置对文本框重新选择将选择值用组合框中内容替换掉即可
    Screen.PreviousControl.SetFocus
     Screen.ActiveControl.SelStart = IntStart
     Screen.ActiveControl.SelLength = Sellength
     Screen.ActiveControl.SelText = cboSpecialChar
     Screen.ActiveControl.SelStart = IntStart + Len(cbo)
     Screen.ActiveControl.SelLength = 0
 (3) 由于(1)是在mousemove时发生时mousedown后光标已经转移到了组合框所以需要在mousedown前就记录下光标位置这需要窍门技巧


具体讨论原代码在:http://www.office-cn.net/bbs/dispbbs.asp?boardid=2&id=28581 上也非常感谢上面各access高手(huanghaicg1,海狸先生,tmtony等)提供宝贵建议~~~ [email protected]

具体代码:

Dim fN As Boolean, IntStart As Integer, Sellength As Integer

Private Sub cbo_AfterUpdate
   
On Error GoTo err_txt
    Screen.PreviousControl.SetFocus
    Screen.ActiveControl.SelStart = IntStart
    Screen.ActiveControl.SelLength = Sellength
    Screen.ActiveControl.SelText = cboSpecialChar
    Screen.ActiveControl.SelStart = IntStart + Len(cbo)
    Screen.ActiveControl.SelLength = 0

err_exit:
     Exit Sub
err_txt:
      Resume err_exit
 
End Sub


Private Sub cbo_LostFocus
    fN = False
End Sub

Private Sub cbo_MouseDown(Button As Integer, Sht As Integer, X As Single, Y As Single)
    fN = True
End Sub

Private Sub cbo_MouseMove(Button As Integer, Sht As Integer, X As Single, Y As Single)
On Error GoTo err_cboSpecialChar_MouseMove

    If Not fN Then
        IntStart = Screen.ActiveControl.SelStart
        Sellength = Screen.ActiveControl.SelLength
    End If
   
    Exit Sub
err_cboSpecialChar_MouseMove:
    Exit Sub
End Sub
 
 


0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: