首先我不知你的用意,好象想做触摸屏,不过用以下代码即可完成:
Private Sub Timer1_Timer()
Text1.SetFocus
End Sub定时即可聚焦

解决方案 »

  1.   

    在自己的form的deactive事件发生时用
    setwindowpos重新定位就可以了。
    但是注意,这时你不能,也就是没有机会操作别的窗体了!如果你只是想把你的窗体置前,而记事本却可以继续工作,不受影响,
    则记得在setwindowpos里多加一个参数,好象是XX_NOACTIVE吧,这就行了。
      

  2.   

    我是想让 记事本等其他程序不能工作,就是说VB程序启动后所有在键盘上输入的内容都出现在
    Text1中。
    用Text1.SetFocus不行,在记事本中还是能输入内容。
    gameboy999写的好像对头,我就是想没有机会操作别的窗体,只是我还是不知道语句要怎么写,
    麻烦gameboy帮我写的详细一点。谢谢谢谢。
      

  3.   

    用SetFocus可以获得焦点
    如果问题解决请给分
      

  4.   

    你不需要用timer,只要在你想显示在最前的那个窗体的对Deactive事件响应的那个函数里加入
    setwindowpos(me.hwnd,XXX_TOPMOST,0,0,0,0,XX_NOMOVE|XXX_NOSIZE)
    '标记XX的是我记得不大清楚的地方,你可以去查一查.
    由于只要你的窗体被别的窗体覆盖,则发生该事件,自然又会把窗体提前.
    如果一定要timer的话,把它设为50毫秒,就可以满足要求了,太快则有点耗资源,还影响你的操作.
    其实我觉得always_on_top窗体也就是这样实现的,只不过在delphi和vc++里都可以直接选择.
      

  5.   

    Private Sub Form_Deactivate()
    SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE 
    End Sub
    在Win2000下还是可以用ALT+TAB切换到记事本中用键盘输入,用timer也一样。窗体设置为模式窗口,系统模式,在那里设置?
      

  6.   

    请问用CTRL+ALT+DEL弹出的窗口是不是系统模式的?你不把它关掉你能进行其它操作吗?设置系统模式,要用API ,具体用哪个API 我一下子想不起来了,好像是SetWindowLong
      

  7.   

    请各位再帮帮忙,我要的是:在win2000下,我的VB程序一起动,就不能对其他程序进行操作了。