|
小锋·cpcw
在文档中,通常使用 C 语言的语法描述 DLL 中的过程。要在 Visual Basic
中调用这些过程,需要将它们转换成合法的 Declare 语句,并使用正确的参数调用它们。
在进行这种转换时,必须将 C 数据类型转换为 Visual Basic 的数据类型,并且说明每个参数是以使用值的 (ByVal) 方式,还是使用引用的
(ByRef)(缺省)方式。下表针对常用的 C 语言数据类型列出了与之等价的 Visual Basic 类型(用于 32 位版本的 Windows)。
| C
语言数据类型 |
在
Visual Basic 中声明为 |
调用时使用的表达式 |
| ATOM |
ByVal variable As Integer |
结果为 Integer 类型的表达式 |
| BOOL |
ByVal variable As Long |
结果为 Long 类型的表达式 |
| BYTE |
ByVal variable As Byte |
结果为 Byte 类型的表达式 |
| CHAR |
ByVal variable As Byte |
结果为 Byte 类型的表达式 |
| COLORREF |
ByVal variable As Long |
结果为 Long 类型的表达式 |
| DWORD |
ByVal variable As Long |
结果为 Long 类型的表达式 |
| HWND, HDC, HMENU 等。(Windows 句柄) |
ByVal variable As Long |
结果为 Long 类型的表达式 |
| INT, UINT |
ByVal variable As Long |
结果为 Long 类型的表达式 |
| LONG |
ByVal variable As Long |
结果为 Long 类型的表达式 |
| LPARAM |
ByVal variable As Long |
结果为 Long 类型的表达式 |
| LPDWORD |
variable As Long |
结果为 Long 类型的表达式 |
| LPINT, LPUINT |
variable As Long |
结果为 Long 类型的表达式 |
| LPRECT |
variable As type |
自定义类型的任意变量 |
| LPSTR, LPCSTR |
ByVal variable As String |
结果为 String 类型的表达式 |
| LPVOID |
variable As Any |
任何变量(在传递字符串的时候使用 ByVal) |
| LPWORD |
variable As Integer |
结果为 Integer 类型的表达式 |
| LRESULT |
ByVal variable As Long |
结果为 Long 类型的表达式 |
| NULL |
As Any 或
ByVal variable As Long |
ByVal Nothing 或 ByVal 0&
或 vbNullString |
| SHORT |
ByVal variable As Integer |
结果为 Integer 类型的表达式 |
| VOID |
Sub procedure |
不可用 |
| WORD |
ByVal variable As Integer |
结果为 Integer 类型的表达式 |
| WPARAM |
ByVal variable As Long |
结果为 Long 类型的表达式 |
|