在上一回我们已经实现VB调用VC函数并传递一个long、窗口句柄、字符串指针、结构体指针的参数,并取得了函数的返回值。 这一回我们将实践一下如何传递多个参数。 打开上一回的两个工程(LinkWithVC, vcobj). 切换到VB在form上添加一个按钮 name: cmdTestStruct2, 标题 Test Struct 2。再在ModVC中添加如下代码 Public Function TestArg(lppt1 As POINTAPI, lppt2 As POINTAPI) As Long Rem End Function
在上一回我们已经实现VC,VB代码的混合编译,并成功的在VB代码中调用了VC代码中的一个无参数的函数,并取得了函数的返回值. 这一回我们将实践一下如何调用带参数的函数. 打开上一会的两个工程(LinkWithVC, vcobj). 切换到VB在form上添加一个按钮 name: cmdTestLong, 标题 TestLong. 在form上添加一个文本框txtInput 内容填 8. 再在ModVC中添加如下代码: Public Function TestLong(ByVal lng As Long) As Long TestLong = -1 End Function
下面的代码就可以轻松搞定。
Private Const SWP_HIDEWINDOW = &H80
Private Const SWP_SHOWWINDOW = &H40
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Function SetWindowPos Lib "user32" Alias "SetWindowPos" (ByVal hwnd As Long, ByVal hWndinsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long ...More...