Visual Basic程序设计教程 第13章

Visual Basic程序设计教程 第13章

ID:40239470

大小:1.20 MB

页数:28页

时间:2019-07-28

Visual Basic程序设计教程 第13章_第1页
Visual Basic程序设计教程 第13章_第2页
Visual Basic程序设计教程 第13章_第3页
Visual Basic程序设计教程 第13章_第4页
Visual Basic程序设计教程 第13章_第5页
资源描述:

《Visual Basic程序设计教程 第13章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、13.1调用WindowsAPI13.2编写多媒体应用程序第13章VB与多媒体退出13.1调用WindowsAPI13.1.1用APIViewer查看API3.1.2程序语句返回退出13.1.3使用API函数实例13.1.1用APIViewer查看API用APIViewer查看API函数和常量的方法如下:(1)单击VB程序组中的“API文本浏览器”启动APIViewer。(2)从“File”菜单中选择“加载文本文件”菜单项,打开“选择一个文本API文件”对话框,选择文件“Win32api.txt”。(3)在文本框中输

2、入要搜索的API函数或常量、类型的开始几个字母,就会在“可用项”中显示查找到相应的内容。(4)单击“Add”按钮,在最下面的文本框中就显示出VB声明,单击“复制”按钮将其复制到剪贴板中,随后粘贴到用户工程代码中。图13-1包含API函数信息的文本文件图13-2API浏览器13.1.2API函数声明可以直接将上述复制到剪贴板中的内容粘贴到VB工程代码中声明API函数,也可以直接键入API函数声明。请看如下实例:DeclareFunctionOpenFileLib"kernel32"Alias"OpenFile"(ByV

3、allpFileNameAsString,_lpReOpenBuffAsOFSTRUCT,ByValwStyleAsLong)AsLong其中:Declare:关键字,表明要声明—个外部过程。Function:表明声明的是一个外部函数。如果为Sub,则为外部过程。OpenFile:要声明的外部过程的函数名。Lib:关键字,表明函数位于下面的DLL库中。"kernel32":是DLL的库名,必须用引号括起来。Alias:关键字,表明可以用紧跟其后的别名"OpenFile"来调用此函数。OFSTRUCT:为参数lpReO

4、penBuff的数据类型。其他部分的说明同一般的函数过程。13.1.3使用API函数实例例13-1:制作永远在其他窗口之上的窗口。第一步:新建一个工程,设工程名为MyAPI1,该工程包含3个窗体,名称分别为Form1、Form2和APIform,一个标准模块,名称为APIModule。第二步:在API浏览器中查找SetWindowPos函数,并将其函数声明文本复制到标准模块APIModule中:PublicDeclareFunctionSetWindowPosLib"user32"(ByValhwndAsLong,B

5、yVal_hWndInsertAfterAsLong,ByValxAsLong,ByValyAsLong,ByValcxAsLong,ByValcyAs_Long,ByValwFlagsAsLong)AsLong第三步:在主窗体的代码窗口加上如下代码:ConstSWP_NOMOVE=2'不更新窗口位置ConstSWP_NOSIZE=1'不更新窗口大小ConstHWND_TOPMOST=-1'窗口放在所有窗口顶部ConstHWND_NOTOPMOST=-2'窗口不能放在所有窗口顶部PrivateSubForm_Load

6、()APIForm.ShowForm2.ShowSetWindowPosAPIForm.hwnd,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE_+SWP_NOSIZEEndSub图13-3程序运行实例例13-2:生成特殊形状的窗口。在上述程序的标准模块中加上如下函数声明:PublicDeclareFunctionCreateEllipticRgnLib"gdi32"(ByValX1AsLong,ByValY1As_Long,ByValX2AsLong,ByValY2AsLong)AsLongPubl

7、icDeclareFunctionCreateRoundRectRgnLib"gdi32"(ByValX1AsLong,ByValY1_AsLong,ByValX2AsLong,ByValY2AsLong,ByValX3AsLong,ByValY3AsLong)AsLongPublicDeclareFunctionSetWindowRgnLib"user32"(ByValhWndAsLong,ByValhRgn_AsLong,ByValbRedrawAsBoolean)AsLongForm1窗体的单击事件代码为:Pr

8、ivateSubForm_Click()SetWindowRgnhWnd,CreateEllipticRgn(10,20,500,400),TUREEndSubForm1窗体的双击事件代码为:PrivateSubForm_DblClick()SetWindowRgnhWnd,CreateRoundRectRgn(10,20,500,400,20

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。