muzi 发表于 2003-8-10 17:25:00

[求助]怎么使用win32 api还有起它问题,十万火急!!!

1.我有一个DLL文件,在VBA中怎么使用?一个c函数有的参数有一个结构体,在VB中怎么声明?而且dll文件要放在哪儿才可以用?
2.在一个窗体中的到一个数组,我怎么在下一个窗体中使用,还有,我怎么在下一个窗体中调用上一个窗体的一个控件的值?
3.我想在一个combobox中鼠标移到列表的一个值或选中的时候,旁边的一个textbox的值随combobox的值改变而改变?
急,谢谢!

leeyeafu 发表于 2003-8-12 09:32:00

最好先到书中找一下答案

1、WINAPI调用问题:使用Declare语句。
语法 1:
Declare Sub name Lib "libname" [()]
语法 2:
Declare Function name Lib "libname" [()]
比如说,你可以在工程中添加一个模块,在模块中这样声明:
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
以上声明后,你可以在程序任何地方使用FindWindowA()函数,因为该函数被声明为Public类型,即公共类型。
Declare关键字表示使用外部函数。
Lib关键字后指定DLL库文件名,默认路径为“YourSystemPath\system",其中,YourSystemPath指你的windows安装目录。若DLL文件不在这个目录下,Lib关键字后的字符串应该包括文件路径。
括号()内为函数参数表。
As Long指定函数返回值数据类型。
2、C语言中struct结构等同于VB中的Type自定义数据类型。例如:
Type MyType
    MyName As String    '定义字符串变量存储一个名字。
    MyBirthDate As Date    '定义日期变量存储一个生日。
    MySex As Integer    '定义整型变量存储性别
End Type
3、要在各个窗体中共享变量,可以在模块中将变量声明为Public。例如:
在模块中声明:
Public Array As Variant
在窗体Form1中获取数组:
Array(0) = 10 : Array(1) = 15
然后你右在其它窗体中使用该数组。
4、要textbox的值随combobox的值改变而改变,可以设定ComboBox控件的Change事件:
Private Sub ComboBox1_Change()
TextBox1.Text = ComboBox1.Text
End Sub

muzi 发表于 2003-8-12 09:38:00

谢谢leeyeafu!
页: [1]
查看完整版本: [求助]怎么使用win32 api还有起它问题,十万火急!!!