标题:VB6资料大整理(更新ing)
只看楼主
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
 问题点数:0 回复次数:4 
VB6资料大整理(更新ing)

本贴是归类.本论坛上.比较优秀,问题回答较完整的贴子.方便大家查看,
大家看完之后.不需要那相应的贴子里回复,把旧贴顶上来..



实现控件在窗体上的漂浮效果
http://bbs.bc-cn.net/viewthread.php?tid=108211
简单实现程序隐藏
http://bbs.bc-cn.net/viewthread.php?tid=108175
VB按钮控件大全
http://bbs.bc-cn.net/viewthread.php?tid=103478
VB实现扫雷(API实现方法)
http://bbs.bc-cn.net/viewthread.php?tid=77557
Access数据写入Excel源码
http://bbs.bc-cn.net/viewthread.php?tid=27375
计算一个文件夹中的文件数
http://bbs.bc-cn.net/viewthread.php?tid=106159
连接加密的Access数据库
http://bbs.bc-cn.net/viewthread.php?tid=105851
计算器程序
http://bbs.bc-cn.net/viewthread.php?tid=105719
WindowsMediaPlayer控件怎么用
http://bbs.bc-cn.net/viewthread.php?tid=104860
InputBox 输入中文时会乱码
http://bbs.bc-cn.net/viewthread.php?tid=104073
使用SendMessage得到QQ聊天框内容
http://bbs.bc-cn.net/viewthread.php?tid=102501
数据库多表查询
http://bbs.bc-cn.net/viewthread.php?tid=102969
获取数据库内容时显示无效使用Null
http://bbs.bc-cn.net/viewthread.php?tid=104065
设置CommandButton按扭上的颜色
http://bbs.bc-cn.net/viewthread.php?tid=104123
adodc链接access数据库查找
http://bbs.bc-cn.net/viewthread.php?tid=103359
Windows按扭突破专家
http://bbs.bc-cn.net/viewthread.php?tid=56612
TextBox怎么设置它的长度
http://bbs.bc-cn.net/viewthread.php?tid=102579
闹钟程序
http://bbs.bc-cn.net/viewthread.php?tid=97276
悬浮窗体
http://bbs.bc-cn.net/viewthread.php?tid=101176
判断pictureBox里是否有图片
http://bbs.bc-cn.net/viewthread.php?tid=99335
VB代码库
http://bbs.bc-cn.net/viewthread.php?tid=63913
使用ADO,怎么添加数据
http://bbs.bc-cn.net/viewthread.php?tid=97642
天气预报程序
http://bbs.bc-cn.net/viewthread.php?tid=32587
精确计算30位数以上的数字的和
http://bbs.bc-cn.net/viewthread.php?tid=95896
音像租借管理系统
http://bbs.bc-cn.net/viewthread.php?tid=36365
中国象棋程序
http://bbs.bc-cn.net/viewthread.php?tid=89684
俄罗斯方块网络对战游戏
http://bbs.bc-cn.net/viewthread.php?tid=784
VB连接数据库
http://bbs.bc-cn.net/viewthread.php?tid=72158
怎样才能往已有的ACCESS数据库表里添加一个新的字段
http://bbs.bc-cn.net/viewthread.php?tid=88618
编写自动编号
http://bbs.bc-cn.net/viewthread.php?tid=88289
全局键盘、鼠标HOOK的DLL源码
http://bbs.bc-cn.net/viewthread.php?tid=7392
vb绘制的漂亮的大树
http://bbs.bc-cn.net/viewthread.php?tid=84247
超市管理系统
http://bbs.bc-cn.net/viewthread.php?tid=76023
控件数组
http://bbs.bc-cn.net/viewthread.php?tid=106355
VB实现特殊窗体
http://bbs.bc-cn.net/viewthread.php?tid=84273
vb如何获取网页中一部分自已需要的内容
http://bbs.bc-cn.net/viewthread.php?tid=69177
数据库问题
http://bbs.bc-cn.net/viewthread.php?tid=81785
备忘录
http://bbs.bc-cn.net/viewthread.php?tid=71087
WebBrowser 使用技巧
http://bbs.bc-cn.net/viewthread.php?tid=80987
如何用VB建立快捷方式
http://bbs.bc-cn.net/viewthread.php?tid=79959
mp3播放器
http://bbs.bc-cn.net/viewthread.php?tid=63498
vb中使用SQL语句查询
http://bbs.bc-cn.net/viewthread.php?tid=33918
模仿《打地鼠》写的《解救人质》小游戏
http://bbs.bc-cn.net/viewthread.php?tid=74577
流水帐程序
http://bbs.bc-cn.net/viewthread.php?tid=73939
用VB编写简单的时钟程序(有时、分、秒针转动)
http://bbs.bc-cn.net/viewthread.php?tid=18083
判断别的某个窗体是否存在
http://bbs.bc-cn.net/viewthread.php?tid=55698
打字比赛小程序
http://bbs.bc-cn.net/viewthread.php?tid=71103
汉诺塔
http://bbs.bc-cn.net/viewthread.php?tid=59564
日历
http://bbs.bc-cn.net/viewthread.php?tid=63473
无标题栏窗体的托动功能
http://bbs.bc-cn.net/viewthread.php?tid=64705
mp3播放器(Lrc歌词同步)
http://bbs.bc-cn.net/viewthread.php?tid=38382
文本框内容写入文本文件
http://bbs.bc-cn.net/viewthread.php?tid=62299
八皇后问题(递归解法)
http://bbs.bc-cn.net/viewthread.php?tid=47113

[此贴子已经被作者于2006-12-10 18:05:44编辑过]

搜索更多相关主题的帖子: ing 资料 php 
2006-12-10 17:37
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
得分:0 

小计算器
http://bbs.bc-cn.net/viewthread.php?tid=49775
闹铃软件
http://bbs.bc-cn.net/viewthread.php?tid=52781
定时关机器
http://bbs.bc-cn.net/viewthread.php?tid=49830
计算器原代码
http://bbs.bc-cn.net/viewthread.php?tid=42805
写字板
http://bbs.bc-cn.net/viewthread.php?tid=40829
多功能计算器程序(附源代码)
http://bbs.bc-cn.net/viewthread.php?tid=32382
VB制作登录程序
http://bbs.bc-cn.net/viewthread.php?tid=60213
用VB获取网页中,自己需要的一部分内容
http://bbs.bc-cn.net/viewthread.php?tid=69177
十六进制转十进制
http://bbs.bc-cn.net/viewthread.php?tid=109189
电子通信录
http://bbs.bc-cn.net/viewthread.php?tid=45325
数据库操作问题
http://bbs.bc-cn.net/viewthread.php?tid=111102
Adodc插入数据问题
http://bbs.bc-cn.net/viewthread.php?tid=111236
TextBox读取文件时..显示到最后.
http://bbs.bc-cn.net/viewthread.php?tid=111225
MD5算法介绍.
http://bbs.bc-cn.net/viewthread.php?tid=111235
在菜单中添加图标.
http://bbs.bc-cn.net/viewthread.php?tid=111132
在VB中显示完整的Excel文件
http://bbs.bc-cn.net/viewthread.php?tid=111069
对象变量或With块未设置
http://bbs.bc-cn.net/viewthread.php?tid=111088
DataGrid控件问题
http://bbs.bc-cn.net/viewthread.php?tid=111093
测试中英文混合.所占的字节数..
http://bbs.bc-cn.net/viewthread.php?tid=111331
Select查询和遍历查找比较
http://bbs.bc-cn.net/viewthread.php?tid=111807
不规则的窗体实现
http://bbs.bc-cn.net/viewthread.php?tid=112152
VB千里行-操作Word与Excel hktl(转贴)
http://bbs.bc-cn.net/viewthread.php?tid=431
[转载]获取键盘信息
http://bbs.bc-cn.net/viewthread.php?tid=122173
如何在listview中显示图标?(详细信息模式)
http://bbs.bc-cn.net/viewthread.php?tid=123715
[开源]XP样式的的进度条(源码开放)
http://bbs.bc-cn.net/viewthread.php?tid=123506
[分享]我的中国象棋
http://bbs.bc-cn.net/viewthread.php?tid=122330
[原创][震撼]自动填表,本人源创,使用脚本,简单方便
http://bbs.bc-cn.net/viewthread.php?tid=123159
怎么把窗体变成托盘?
http://bbs.bc-cn.net/viewthread.php?tid=123366
[求助]请问怎么把form窗体变全透明呢??
http://bbs.bc-cn.net/viewthread.php?tid=122805
实现控件在窗体上的漂浮效果
http://bbs.bc-cn.net/viewthread.php?tid=108211
得到文本框中的星号密码的原理
http://bbs.bc-cn.net/viewthread.php?tid=122377
如何使焦点从一个文本框移到下一个?
http://bbs.bc-cn.net/viewthread.php?tid=121860
动态增减控件
http://bbs.bc-cn.net/viewthread.php?tid=121390


源码下载http://www.no1edu.com/download/vb.rar
技巧及教程http://www.no1edu.com/download/vb-edu.rar
API帮助:http://www.no1edu.com/download/api.chm
MSDN FOR VB:http://down1.tomore.com/tools/20060906/2006090610173115222.rar
解压密码:bbs.bc-cn.net


视频教程:http://www.3wman.com/itxy/cxkf/2006-6/223529896.html 或者http://www.lovelele.com/school/vb.html

[此贴子已经被作者于2007-3-13 11:49:02编辑过]


我的msn: myfend@
2006-12-10 17:48
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
得分:0 

初学者技巧

1、如果一行程序太长,能不能换行?

  VB的程序代码是允许换行书写的,只要在每次换行的最后一个字符加上换行字

符“_”就可以了。例如:

Sub PicMove()
Frm.Picture2.Left = Frm.Picture1.Left + _ ’加上换行符
Frm.Picture1.Width
End Sub
 2、 如何在设计的时候清空存在的图片?

  用鼠标点中该图片,在属性窗口中选中Picture属性,按Del键便可清空图片。

  3、 Visual Basic 如何注释一段较长程序代码?

  VB注释程序代码的符号是“注释:”,只要在某行程序前面加上“注释:”,

就可以注释该行程序。但如果程序代码很长的时候,一行一行地注释令人觉得难以

忍受。VB本身提供了这个功能,在主菜单“视图”选项的“工具栏”下,选中Edit

,VB的界面会出现一排工具按钮,其中的手形图标按钮后的两个按钮用于“设置注

释块”和“解除注释块”。

  4、怎么实现鼠标一移上去就出现小提示窗口的功能?

  VB 里每个控件都有ToolTipText属性,只要加上一行程序就可以了。

  例如:Label1.ToolTipText = "这是提示!"。

  5、 如何获得当前软件的运行磁盘目录和命令行参数?

  VB里面有个系统对象叫App。App.Path就是当前软件的运行目录。而命令行参数

存放在一个系统变量里面,叫Command。程序语句如下:

Label1.Caption=App.Path
Label2.Caption=Command$
  6、我想换掉鼠标显示的形状,怎么做?

  VB提供的系统控件一般都有MousePointer和MouseIcon属性。我们可以寻找自己

喜欢的*.ICO,*.CUR文件,实现的程序如下:

Screen.MousePointer= 99 ’用户鼠标类型
Screen.MouseIcon=LoadPicture("C:\ABC\1.ICO") ’读取鼠标的图标文件

  7、如何设置程序的错误出口?

  On Error语句用于程序的错误出口处理。一般的处理方法有两种:

  1) 遇到错误跳转到某一行程序去执行,On Error GoTo someline。

  例如:

On Error GoTo ERR_LINE
...
Label1.Caption=“正确执行”
ERR_LINE:
...
Label1.Caption=“出错了!”

  2) 遇到错误之后忽略当前错误,继续执行,On Error Resume Next。

  例如:

On Error Resume Next
...
Label1.Caption=“不管对不对都要执行”
...

  8、怎样获得键盘输入和判断敲键的Ascii值?

  把窗体的KeyPreview属性设置成True,然后在Form_KeyPress 事件里编写程序

代码如下:

Private Sub Form_KeyPress(KeyAscii As Integer)
 Me.Caption = Str(KeyAscii) ‘取得键盘输入的字符
 ...
End Sub

  9、我希望窗体一运行就在屏幕的中央,怎么实现?

  VB的系统对象Screen记录了当前显示模式的高度和宽度,可以利用这个值来设

置窗体的位置。

Sub CenterForm(frm As Form) ‘定义过程
 frm.Move (Screen.width - frm.width) \ 2, (Screen.Height - frm.Height) \

2
End Sub

Private Sub Form_Load()
 CenterForm Me ’调用过程
End Sub

  10、很多软件都有鼠标在文本框TextBox一按下,就选中所有文字的功能,是怎

么实现的?

Private Sub Text1_GotFocus()
 Text1.SelStart = 0
 Text1.SelLength = Len(Text1.Text) ’过程调用
End Sub


我的msn: myfend@
2007-03-13 11:52
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
得分:0 


VB开机运行

有两种方法,1是注册表方式

模块代码

Option Explicit

Public Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long

Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long

Public Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long

Public Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long

Public Const REG_SZ = 1

Public Const HKEY_LOCAL_MACHINE = &H80000002

'*************************************************************************
'**函 数 名: SetAutoRun
'**输 入: ByVal Autorun(Boolean) -
'**输 出: 无
'**功能描述: 随WINDOWS自动启动/取消启动模块
'**全局变量:
'**调用方法: Call SetAutoRun(True/False)
'**作 者: Mr.David
'**日 期: 2006-09-05 09:07:25
'**修 改 人:
'**日 期:
'**版 本: V1.0.0
'*************************************************************************

Public Sub SetAutoRun(ByVal Autorun As Boolean)

Dim KeyId As Long
Dim MyexePath As String
Dim regkey As String

MyexePath = App.Path & "\" & App.EXEName & ".exe" '获取程序位置

regkey = "Software\Microsoft\Windows\CurrentVersion\Run" '键值位置变量

Call RegCreateKey(HKEY_LOCAL_MACHINE, regkey, KeyId) '建立

If Autorun Then

RegSetValueEx KeyId, "MySoftware", 0&, REG_SZ, ByVal MyexePath, LenB(MyexePath)

Else

RegDeleteValue KeyId, "MySoftware"

End If

RegCloseKey KeyId

End Sub

调用方法

SetAutoRun(ByVal Autorun As Boolean)
2是利用Vb5stkit.dll里面的函数

窗体部分代码,加入6个按钮

Option Explicit

Private Sub CmdAddStartup_Click() '在开始菜单的启动程序组下创建记事本的快捷方式

Call OSfCreateShellLink("\启动", "记事本", GetWindowsPath & "\Notepad.exe", "")

End Sub

Private Sub CmdAddDeskTop_Click() '在桌面创建记事本的快捷方式

Call OSfCreateShellLink("..\..\桌面", "记事本", GetWindowsPath & "\Notepad.exe", "")

End Sub

Private Sub CmdAddProgram_Click() '在程序菜单的Notepad程序组下创建记事本的快捷方式

Call OSfCreateShellGroup("Notepad") '先建立程序组

Call OSfCreateShellLink("Notepad", "记事本", GetWindowsPath & "\Notepad.exe", "")

End Sub

Private Sub CmdAddStartMenu_Click()

Dim i As Long

For i = 1 To 5 '在开始菜单创建记事本的快捷方式,必须用循环才能创建?

Call OSfCreateShellLink("..\..\「开始」菜单", "记事本", GetWindowsPath & "\Notepad.exe", "")

Next

End Sub

Private Sub CmdQuickLaunch_Click() '在快捷工具栏下创建记事本的快捷方式

Call OSfCreateShellLink("..\..\Application Data\Microsoft\Internet Explorer\Quick Launch", "记事本", GetWindowsPath & "\Notepad.exe", "")

End Sub

Private Sub CmdDelAllLink_Click()

Call OSfRemoveShellLink("..\..\「开始」菜单", "记事本") '删除开始菜单上的快捷方式

Call OSfRemoveShellLink("..\..\桌面", "记事本") '删除桌面上的快捷方式

'Call OSfRemoveShellLink("Notepad", "记事本") '删除Notepad程序组下的快捷方式,这样不能删除程序组

Call RemoveShellGroup '删除Notepad程序组下的快捷方式

Call OSfRemoveShellLink("\启动", "记事本") '删除启动菜单下的快捷方式

Call OSfRemoveShellLink("..\..\Application Data\Microsoft\Internet Explorer\Quick Launch", "记事本") '删除快捷工具栏下的快捷方式

End Sub

Private Sub RemoveShellGroup()

On Error GoTo ToExit '打开错误陷阱

'------------------------------------------------

'RmDir删除一个存在的目录或文件夹。语法RmDir Path
'必要的 path 参数是一个字符串表达式,用来指定要删除的目录或文件夹。path 可以包含驱动器。如果没有指定驱动器,则 RmDir 会在当前驱动器上删除目录或文件夹。
'说明如果想要使用 RmDir 来删除一个含有文件的目录或文件夹,则会发生错误。在试图删除目录或文件夹之前,先使用 Kill 语句来删除所有文件。

Kill (GetProgarmPath(Me.hWnd) & "\Notepad\记事本.lnk")
RmDir (GetProgarmPath(Me.hWnd) & "\Notepad")

'------------------------------------------------

Exit Sub

'----------------

ToExit:

Resume Next

End Sub
'模块代码

Option Explicit

'-----------------------------------------------------
' 创建和删除快捷方式
'-----------------------------------------------------
' 洪恩在线 求知无限
'-----------------------------------------------------
'------名称-------------------作用--------------------
' CmdAddStartup "创建启动程序组快捷方式"
' CmdAddDeskTop "创建桌面快捷方式"
' CmdAddStartMenu "创建开始菜单快捷方式"
' CmdAddProgram "创建程序组下的快捷方式"
' CmdQuickLaunch "创建快捷工具栏的快捷方式"
' CmdDelAllLink "删除所有快捷方式"
'-----------------------------------------------------
'要在VB中创建Windows的快捷方式,需要用到VB的一个动态链接库
'Vb5stkit.dll。在该动态链接库中提供了三个函数
'OSfCreateShellGroup、OSfCreateShellLink、OSfRemoveShellLink
'分别用于创建快捷方式程序组、创建快捷方式和删除快捷方式。
'-----------------------------------------------------

Declare Function OSfCreateShellGroup Lib "Vb5stkit.dll" _
Alias "fCreateShellFolder" (ByVal lpstrDirName As String) As Long

'lpstrDirName指定了程序组的名称
'-----------------------------------------------------

Declare Function OSfCreateShellLink Lib "Vb5stkit.dll" _
Alias "fCreateShellLink" (ByVal lpstrFolderName As String, _
ByVal lpstrLinkName As String, ByVal lpstrLinkPath As String, ByVal lpstrLinkArguments As String) As Long

'lpstrfoldername指定保存快捷方式的文件夹
'lpstrlinkname指定快捷方式的文件名
'lpstrLinkpathe指定快捷方式所指向的应用程序或文件
'lpstrLinkArguments是程序运行所需的参数
'-----------------------------------------------------

Declare Function OSfRemoveShellLink Lib "Vb5stkit.dll" Alias _
"fRemoveShellLink" (ByVal lpstrFolderName As String, ByVal lpstrLinkName As String) As Long

'获取Windows目录
Private Declare Function GetWindowsDirectory Lib "kernel32" Alias _
"GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long

'获得文件夹路径
Private Declare Function SHGetSpecialFolderPath Lib "shell32.dll" Alias "SHGetSpecialFolderPathA" (ByVal hwndOwner As Long, ByVal lpszPath As String, ByVal nFolder As Long, ByVal fCreate As Long) As Long

Private Const Max_Path = 260 '缓冲区大小
Private Const CSIDL_PROGRAMS = &H2 '程序组常量

'*************************************************************************
'**函 数 名: GetWindowsPath
'**输 入: 无
'**输 出: (String) -
'**功能描述: 得到Windows路径
'**全局变量:
'**调用模块:
'**作 者: Mr.David
'**日 期: 2006-09-19 19:49:17
'**修 改 人:
'**日 期:
'**版 本: V1.0.0
'*************************************************************************

Public Function GetWindowsPath() As String

Dim ChrLen As Long, WinDir As String

WinDir = Space$(Max_Path)
ChrLen = GetWindowsDirectory(WinDir, Max_Path)

WinDir = Left$(WinDir, ChrLen)
GetWindowsPath = WinDir

End Function

'*************************************************************************
'**函 数 名: GetProgarmPath
'**输 入: frmHwnd(Long) -
'**输 出: (String) -
'**功能描述: 获取开始菜单程序组的路径
'**全局变量:
'**调用模块:
'**作 者: Mr.David
'**日 期: 2006-09-19 19:48:16
'**修 改 人:
'**日 期:
'**版 本: V1.0.0
'*************************************************************************

Public Function GetProgarmPath(frmHwnd As Long) As String

Dim CSILD_NUM As Long, strBouff As String

strBouff = String$(Max_Path, 0)

SHGetSpecialFolderPath frmHwnd, strBouff, CSIDL_PROGRAMS, 0
GetProgarmPath = Left$(strBouff, InStr(1, strBouff, Chr$(0)) - 1)

End Function
方法3

先引用系统里面都有的WSHom.Ocx

Option Explicit

'*************************************************************************
'**函 数 名: SetAutoRun
'**输 入: ByVal Autorun(Boolean) -
'**输 出: 无
'**功能描述: 随WINDOWS自动启动/取消启动模块
'**全局变量:
'**调用方法: Call SetAutoRun(True/False)
'**作 者: Mr.David
'**日 期: 2006-09-05 09:07:25
'**修 改 人:
'**日 期:
'**版 本: V1.0.0
'*************************************************************************

Public Sub SetAutoRun(ByVal Autorun As Boolean)

'WshShell 对象
'ProgId Wscript.Shell
'文件名 WSHom.Ocx

Dim WshShell As WshShell

Set WshShell = CreateObject("Wscript.Shell")

If Autorun Then

WshShell.RegWrite "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\" & App.EXEName, App.Path & "\" & App.EXEName & ".exe"

Else

WshShell.RegDelete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\" & App.EXEName

End If

Set WshShell = Nothing

End Sub


我的msn: myfend@
2007-03-13 11:54
zhou4026
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-8-1
得分:0 
这么多,谢了
2010-08-01 20:47



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-108604-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.740218 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved