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是怎样把一个数组变成一个值的?谢谢
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是怎样把一个数组变成一个值的?谢谢
解决方案 »
- 热心的朋友进来帮我看看吧,关于VSFlexGrid1控件的一个问题
- vb 添加数据库的问题
- 我想学习VB该怎么入手?
- XP开机连网问题~~
- 团结就是力量 我不认输 进者给分 免费放送经典的娱乐搞笑 各位兄弟姐妹 你们辛苦了 工作之余 记得休息哦
- 500分紧急求助,望各位高手能拔刀相助(算法相关)
- 神啊!救救我 err.number=9什么意思啊 什么叫subscript out of range啊!大哥进
- 怎么去mdi标题栏了,可是如何将窗口边框也去掉呢?就好象普通窗口的BorderStyle设成0那种样子
- 寻找一个控件(带源代码)!!!!!!!!!
- 关于理解公共模块的疑惑
- VB怎么样对 SQL 2000的 Binary 字段进行读写操作?
- 大放血,跳楼分 :@@@@如何动态获取控件的属性?@############################
你这个例子是把byteAry1变成dbl1格式
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