-
vb教程之一组VB实用小程序函数
用VB实现编程离不开函数调用及Windows API函数的调用,以下是笔者收集的一些实用的小例程,它们可以直接用在你的实际编程中,也可以根据实际应用加以扩充完善。其中涉及Windows API函数调用的代码你可以从VB5.0系统的API函数查看器中复制函数定义内容,以避免出错。
1.系统型表单
系统型意味着用户完成当前表单操作之前无法进行其它操作,这对于编制系统口令保护界面尤为重要。如果你希望当前表单系统型表单,需如下定义API函数:
Declare Function SetSysModalWindow Lib "User" (ByVal hWnd As Integer) As Integer
然后调用:oldSysModal = SetSysModalWindow([Form].hWnd)
2.获取驱动器类型
代码如后:
Declare Function GetDriveType Lib “Kernel" (ByVal nDrive As Integer) As Integer
Global Const DRIVE_REMOVEABLE% = 2, DRIVE_FIXED% = 3
Global Const DRIVE_REMOTE% = 4
3.表单在对中
本子程序功能使表单定位在屏幕中央,在表单中任何需要表单对中的地方只需加入一行代码:
“centerwindow.me”即可成功调用。
Public Sub CenterWindow(f As Form)
f.Top = (Screen.Height * .5) - (f.Height * .5)
f.Left = (Screen.Width * .5) - (f.Width * .5)
End Sub
4. 定义变量
许多的程序员习惯于如下定义变量:
Dim iNum, iNextNum, iLastNum as Integer
实际上只有最后一个变量被设为了整型,前两个变量则是系统的缺省的Variant 数据类型,而Variant 数据类型可用来替换任何数据类型,显然对于精练的程序设计是不利的。 正确的方法如下:
Dim iNum as Integer
Dim iNextNum as Integer
Dim iLastNum as Integer
5. 使文本高亮
本子程序使被触发的诸如文本,标签等控件的文本被选中
Public Sub SetSelected()
Screen.ActiveControl.SelStart = 0
Screen.ActiveControl.SelLength = Len(Screen.ActiveControl.Text)
End Sub
6. 关闭其它程序
下面的代码可关闭内存中的其它程序
title = "MyAPP" '定义你需关闭的程序窗口的标题
ihWnd = findWindow(0&, Title)
ihTask = GetWindowTask (ihWnd)
iRet = PostAppMessage(ihTask, WM_QUIT, 0, 0&)
7. 文件存在否?
本函数返回查找的文件是否存在。
Function FileExist(Filename as string) as Boolean
FileExist = Iif(Dir(Filename) <> "", True, False)
End Function
8. 主程序唯一
用下面提供的代码作你的主程序可防止应用程序的多重执行,你应当将它放在确信需要它的代码模块内。
Public Sub Main()
If App.PrevInstance Then
BringWindowToTop frmMain.hwnd
Else
Load frmMain
End If
End Sub
上面这些精悍的代码对于专业程序员来说非常有实用价值,希望你能从中获得启发。
1.系统型表单
系统型意味着用户完成当前表单操作之前无法进行其它操作,这对于编制系统口令保护界面尤为重要。如果你希望当前表单系统型表单,需如下定义API函数:
Declare Function SetSysModalWindow Lib "User" (ByVal hWnd As Integer) As Integer
然后调用:oldSysModal = SetSysModalWindow([Form].hWnd)
2.获取驱动器类型
代码如后:
Declare Function GetDriveType Lib “Kernel" (ByVal nDrive As Integer) As Integer
Global Const DRIVE_REMOVEABLE% = 2, DRIVE_FIXED% = 3
Global Const DRIVE_REMOTE% = 4
3.表单在对中
本子程序功能使表单定位在屏幕中央,在表单中任何需要表单对中的地方只需加入一行代码:
“centerwindow.me”即可成功调用。
Public Sub CenterWindow(f As Form)
f.Top = (Screen.Height * .5) - (f.Height * .5)
f.Left = (Screen.Width * .5) - (f.Width * .5)
End Sub
4. 定义变量
许多的程序员习惯于如下定义变量:
Dim iNum, iNextNum, iLastNum as Integer
实际上只有最后一个变量被设为了整型,前两个变量则是系统的缺省的Variant 数据类型,而Variant 数据类型可用来替换任何数据类型,显然对于精练的程序设计是不利的。 正确的方法如下:
Dim iNum as Integer
Dim iNextNum as Integer
Dim iLastNum as Integer
5. 使文本高亮
本子程序使被触发的诸如文本,标签等控件的文本被选中
Public Sub SetSelected()
Screen.ActiveControl.SelStart = 0
Screen.ActiveControl.SelLength = Len(Screen.ActiveControl.Text)
End Sub
6. 关闭其它程序
下面的代码可关闭内存中的其它程序
title = "MyAPP" '定义你需关闭的程序窗口的标题
ihWnd = findWindow(0&, Title)
ihTask = GetWindowTask (ihWnd)
iRet = PostAppMessage(ihTask, WM_QUIT, 0, 0&)
7. 文件存在否?
本函数返回查找的文件是否存在。
Function FileExist(Filename as string) as Boolean
FileExist = Iif(Dir(Filename) <> "", True, False)
End Function
8. 主程序唯一
用下面提供的代码作你的主程序可防止应用程序的多重执行,你应当将它放在确信需要它的代码模块内。
Public Sub Main()
If App.PrevInstance Then
BringWindowToTop frmMain.hwnd
Else
Load frmMain
End If
End Sub
上面这些精悍的代码对于专业程序员来说非常有实用价值,希望你能从中获得启发。
最新更新
求1000阶乘的结果末尾有多少个0
详解MyBatis延迟加载是如何实现的
IDEA 控制台中文乱码4种解决方案
SpringBoot中版本兼容性处理的实现示例
Spring的IOC解决程序耦合的实现
详解Spring多数据源如何切换
Java报错:UnsupportedOperationException in Col
使用Spring Batch实现批处理任务的详细教程
java中怎么将多个音频文件拼接合成一个
SpringBoot整合ES多个精确值查询 terms功能实
数据库审计与智能监控:从日志分析到异
SQL Server 中的数据类型隐式转换问题
SQL Server中T-SQL 数据类型转换详解
sqlserver 数据类型转换小实验
SQL Server数据类型转换方法
SQL Server 2017无法连接到服务器的问题解决
SQLServer地址搜索性能优化
Sql Server查询性能优化之不可小觑的书签查
SQL Server数据库的高性能优化经验总结
SQL SERVER性能优化综述(很好的总结,不要错
uniapp/H5 获取手机桌面壁纸 (静态壁纸)
[前端] DNS解析与优化
为什么在js中需要添加addEventListener()?
JS模块化系统
js通过Object.defineProperty() 定义和控制对象
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比