从来没有见识过这个问题,这应该和 Up-Down Control 本身无关,目前也不好说,需要详细信息——“无法创建”什么?

解决方案 »

  1.   

    仅有“无法创建”四个字下面附上代码:
    Option Explicit
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As LongPrivate Const WM_USER = &H400Private Const UDM_SETRANGE = (WM_USER + 101)                '设置控件的上下界
    Private Const UDM_GETRANGE = (WM_USER + 102)                '返回控件的上下界
    Private Const UDM_SETPOS = (WM_USER + 103)                  '设置当前数字
    Private Const UDM_GETPOS = (WM_USER + 104)                  '返回当前数字
    Private Const UDM_SETBUDDY = (WM_USER + 105)                '设置绑定控件的句柄
    Private Const UDM_GETBUDDY = (WM_USER + 106)                '返回绑定控件的句柄
    Private Const UDM_SETACCEL = (WM_USER + 107)                '设置增加速率
    Private Const UDM_GETACCEL = (WM_USER + 108)                '返回当前增加速率
    Private Const UDM_SETBASE = (WM_USER + 109)                 '设置数制(10进制/16进制)
    Private Const UDM_GETBASE = (WM_USER + 110)                 '返回当前数制
    Private Const UDM_SETRANGE32 = (WM_USER + 111)              '设置32位上下界
    Private Const UDM_GETRANGE32 = (WM_USER + 112)              '反回32位上下界Dim hupdown As Long
    Private Const WS_CHILD = &H40000000Private Const WS_VISIBLE = &H10000000
    Private Declare Function CreateWindowEx Lib "user32" Alias "CreateWindowExA" (ByVal dwExStyle As Long, ByVal lpClassName As String, ByVal lpWindowName As String, ByVal dwStyle As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hWndParent As Long, ByVal hMenu As Long, ByVal hInstance As Long, lpParam As Any) As LongPrivate Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
    Private Sub Form_Load()    ' 创建一个新的 Up-Down Control
        With Text1
            hupdown = CreateWindowEx(0&, UPDOWN_CLASS, "UpDown1", _
                      WS_CHILD Or WS_VISIBLE Or UDS_ARROWKEYS Or UDS_SETBUDDYINT Or UDS_HOTTRACK, _
                      (.Left + .Width) / 15, .Top / 15, 10, .Height / 15, _
                      Me.hwnd, 0&, App.hInstance, ByVal 0&)
            If hupdown <= 0 Then
                MsgBox "无法创建。", vbOKOnly + vbCritical, App.Title
                Unload Me
            End If
            ' 定义它的上下界、当前值、绑定对象。
            SendMessage hupdown, UDM_SETBUDDY, .hwnd, ByVal 0&
            SendMessage hupdown, UDM_SETRANGE, 0, ByVal MakeLong(100, 0)
            SendMessage hupdown, UDM_SETPOS, 0, ByVal MakeLong(20, 0)
        End With
    End Sub
    Private Function MakeLong(ByVal LowWord As Long, ByVal HighWord As Long) As Long
        Dim tmpval As Long
        CopyMemory tmpval, LowWord, 2
        CopyMemory ByVal VarPtr(tmpval) + 2, HighWord, 2
        MakeLong = tmpval
    End Function
      

  2.   

    运行了,编译了,没有问题呀!我把东东 Mail 给你。留个地址,或者发信给我。或者到子夜软件的论坛进一步讨论,我经常在那儿。