再加10分!第一个答复者给5分,说I Dont也行。一个小时后没人回答就删除。

解决方案 »

  1.   

    Private Sub Text1_GotFocus()某某=Text1
    MsgBox "哈哈,我是某某类型控件"
    End Sub
    你这样写1000个吧,哈哈!好象需要用API,我去查查
      

  2.   

    dragonleon,我怎么给你加5分呢?总不能将剩下的35分给我自己吧?
      

  3.   

    你有一张表单?是不是数据库文件?
    如果不是建议你建个表,字段1=TABINDEX,字段二=type
    Private Sub Text1_GotFocus()sql=select * from table
    rs.source=sql
    rs.openif rs!TABINDEX=text1.tabindex then
    MsgBox "哈哈,我是rs!type类型控件"
    end ifrs.close
    end sub
      

  4.   

    Private Sub Text1_GotFocus()
        MsgBox "哈哈,我是" &CStr(TypeName(Text1))&"类型控件"
    End Sub
      

  5.   

    不好意思,漏了&
    MsgBox "哈哈,我是&rs!type&类型控件"
      

  6.   

    都不行,首先的问题是如何判断焦点落在什么地方,总不能如dragonleon说的用gotfocus事件,有一万个又怎么办?
      

  7.   

    我试过用activecontrol属性,也不好
      

  8.   

    你的表单是什么意思?FORM?我理解错了?
    如果我错了,就按ZXB兄的方法吧。
      

  9.   

    我接触VB近两个月了。我在想,如何给form新增一个事件,让它来判断焦点落点,然后判断控件是什么类型再做出相应动作,可这个新事件该如何做?
      

  10.   

    简单一句话,就是如何实现类似控件ToolTipText属性的功能?
      

  11.   

    鼠标在控件上稍停,它就作出反应了,还用不着click呢
      

  12.   

    能解决吗?看来真要转行了。
    现在我是白天vb,晚上Delphi,计划vc了。
    时间不多了!
      

  13.   

    SetFocusAPI VB声明 
    Declare Function SetFocusAPI& Lib "user32" Alias "SetFocus" (ByVal hwnd As Long) 
    说明 
    将输入焦点设到指定的窗口。如有必要,会激活窗口 
    返回值 
    Long,前一个拥有焦点的窗口的句柄 
    参数表 
    参数 类型及说明 
    hwnd Long,准备接收焦点的窗口的句柄 
    注解 
    在vb里对窗体和控件最好使用SetFocus方法。如指定的窗口不属于当前输入线程,则该函数是没有效果的。它用SetFocusAPI这个别名避免与vb的SetFocus方法发生冲突
     
    你试试这个API好不好用!我几乎查遍了API函数,看到的只有获得窗体焦点的,不过我想控件应该也是一样的。
    你在等会删除,我再找找!
      

  14.   

    我已经试过,也不大好,还不如activecontrol呢
      

  15.   

    GetFocus VB声明 
    Declare Function GetFocus Lib "user32" Alias "GetFocus" () As Long 
    说明 
    获得拥有输入焦点的窗口的句柄 
    返回值 
    Long,拥有焦点的那个窗口的句柄。如没有窗口拥有输入焦点,则返回零 
    你再试试这个
      

  16.   

    GetFocus VB声明 
    Declare Function GetFocus Lib "user32" Alias "GetFocus" () As Long 
    说明 
    获得拥有输入焦点的窗口的句柄 
    返回值 
    Long,拥有焦点的那个窗口的句柄。如没有窗口拥有输入焦点,则返回零 
    你再试试这个,如果再不对,你自己找找API函数吧
      

  17.   

    还不如用ChildWindowFromPoint呢,不过还是不理想。
      

  18.   

    可以做一个小程序,功能是桢测窗体上所有的控件,自动生成ZXB写的代码(多少都无所谓,让计算机自动干去吧!^_^)
      

  19.   

    如果还是利用gotfocus,Mouse...这类东东事件,还不如跳楼算了。
      

  20.   

    代码如下在Form里面添加一个Timer 控件InterVal属性设置为100
    在添加以下代码就可以搞定!
    Private m_ActiveObject As ObjectPrivate Sub Timer1_Timer()
        If m_ActiveObject Is Nothing Then
            Set m_ActiveObject = Me.ActiveControl
            MsgBox Me.ActiveControl.Name
        Else
            If m_ActiveObject.Name <> Me.ActiveControl.Name Then
                Set m_ActiveObject = Me.ActiveControl
                MsgBox Me.ActiveControl.Name
            End If
        End If
    End Sub
      

  21.   

    Ded,不错,但不必用Timer
    各位看官,这个问题已经解决了大半,
    请看“水如烟 之‘老鼠摆尾’”
      

  22.   

    嘿嘿,还是Delphi好啊,直接搞定
      

  23.   

        可以用多线程搞定的,你完全可以用另一个线程做监视,当控件获得焦点时,显示这个控件的名称,这在Delphi中很好搞定的,不知VB行不行。