LSet的用法,看以下例子:Public Type A_single
    dblValue As Single
End TypePublic Type a_ByteAry
    ByteVal(0 To 3) As Byte
End TypeDim byteAry1 As a_ByteAry
Dim dbl1 As A_single
byteAry1.ByteVal(3 - 0) = &H43
byteAry1.ByteVal(2 - 0) = &H6E
byteAry1.ByteVal(1 - 0) = &HF8
byteAry1.ByteVal(0) = &HA0LSet dbl1 = byteAry1
S = dbl1.dblValue问题是经过LSet之后,为什么S的值会变成一个浮点数?为238.97
我是说LSet是怎样把一个数组变成一个值的?谢谢

解决方案 »

  1.   

    LSet是设置字符串格式左对齐
    你这个例子是把byteAry1变成dbl1格式
      

  2.   

    Option ExplicitPublic Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
    Public Declare Function RegisterHotKey Lib "user32" (ByVal hWnd As Long, ByVal id As Long, ByVal fsModifiers As Long, ByVal vk As Long) As Long
    Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
    Public Declare Function UnregisterHotKey Lib "user32" (ByVal hWnd As Long, ByVal id As Long) As LongPublic Const WM_HOTKEY = &H312
    Public Const MOD_ALT = &H1
    Public Const MOD_CONTROL = &H2
    Public Const MOD_SHIFT = &H4
    Public Const GWL_WNDPROC = (-4)
    Public preWinProc As Long
    Public Modifiers As Long, uVirtKey As Long, idHotKey As Long
    Type hookkey
        Shift As Long
        Ctrl As Long
        Alt As Long
        
    End Type
    Private Type taLong
        ll As Long
    End TypePrivate Type t2Int
        lWord As Integer
        hWord As Integer
    End Type
    Private Function Wndproc(ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
        If Msg = WM_HOTKEY Then
            If wParam = idHotKey Then
                Dim lp As taLong, i2 As t2Int
                lp.ll = lParam
                LSet i2 = lp
                If (i2.lWord = Modifiers) And i2.hWord = uVirtKey Then
                '***********************
                End If
            End If
        End If
    End Function