1.showcursor的参数解释:
Long,显示计数(参考注解)bShow ----------  Long,TRUE(非零)显示指针,FALSE隐藏windows维持着一个内部显示计数;倘若bShow为TRUE,那么每调用一次这个函数,计数就会递增1;反之,如bShow为FALSE,则计数递减1。只有在这个计数大于或等于0的情况下,指针才会显示出来2.text1.width=textwidth("A") * len(text1.text)放到Text1_change()中。

解决方案 »

  1.   

    SHOWCURSOR我没有用过
    可以使用如下方法:
    先制作一空白的鼠标图样。然后
    Private Sub Text1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    with Text1
    .MousePointer = vbCustom
    .MouseIcon = load(你制作的鼠标图样)
    end with
    End Sub
    文本框的长度随文字的多少而改变
    Private Sub Text1_Change()
    With Text1
      .Width = Form1.TextWidth(.Text)
    End With
    End Sub
      

  2.   


      在Windows的大多数场合下,鼠标都是始终可见的。但在有些场合需隐藏鼠标,使之不可见,以免影响屏幕画面的整体效果,如屏幕保护程序运行时,鼠标就是不可见的。在VB中可通过调用WindowsAPI函数ShowCursor()来非常轻松地实现鼠标的隐藏。方法如下:
      方法一:
      首先在全局模块中声明函数如下:
      DeclareFunctionShowCursorLib″User″(ByValbShowAsInterger)AsInterger
      当bShow为False时,计数器减1。只有当计数器值大于或等于零时,鼠标才显示出来。通常情况下鼠标是显示的,并且计数器值为0,因此只需简单地调用ShowCursor()函数即能实现鼠标的隐藏与显示:
      SubForm—Load
      Dimrc%
      rc%=ShowCursor(False)′隐藏鼠标
      rc%=ShowCursor(True)′显示鼠标
      End sub
      此种方法下ShowCursor(False)与ShowCursor(True)必须成对使用,否则有可能造成鼠标“丢失”的现象,即调用若干次Show Cursor(True)也有可能显示不出鼠标来(视内部计数器值而定)。当鼠标“丢失”时,可通过重新启动Windows来找回鼠标。
      方法二:
      采用如下程序,可以不成对调用ShowCursor()函数:
      ′隐藏鼠标
      WhileShowCursor(False)>=0′将计数器值减至1
      Wend
      ′显示鼠标
      WhileShowCursor(True)<0′将计数器值加至0
      Wend 
      

  3.   

    Declare Function ShowCursor Lib "user32" (ByVal bShow As Integer) As Integer
    sub main()
    ShowCursor 0
    end subPrivate Sub Text1_Change()
    With Text1
      .Width = Form1.TextWidth(.Text)
    End With
    End Sub