VB换肤(GUI界面)
第一种方法:后缀为.she文件的皮肤
SkinSharp换肤库不是COM组件,无需进行系统注册,仅以标准dll方式存在。
1.打开vb6开发环境,新建一个工程文件,并存档
2.将一个名为“肤”的文件夹和一个名为SkinH_VB6.dll的文件拷贝到工程所在的目录
3.外部函数接口api函数原型,把这原形放在通用声明段
Private Declare Function SkinH_AttachEx Lib "SkinH_VB6.dll" (ByVal lpSkinFile As String, ByVal lpPasswd As String) As Long
4.若需要什么样的皮肤(即.she文件)就在相应的事件(比喻在Form_Load())中输入下面的内容:
SkinH_AttachEx App.Path & "/皮肤/vista.she", " "
app.path:系统字串常量,返回工程所在的路径。
皮肤:是跟工程在同一目录下的一个文件夹
vista.she:皮肤文件,可以把网上下载的.she文件放在同目录下用时,只接按上四步骤即可。
第二种方法:ActiveSkin 4.3软件的应用。可以自己更改皮肤
1.安装ActiveSkin 4.3。同其它软件安装一样。
2.该软件。直接运行(的安装文件)。点下一步直至完成
3.新建一个VB工程文件,在工具箱灰白地方右键单击,选择[部件],在部件对话框中勾选ActiveSkin 4.3后单击[应用][确定]
4.在出现的两个控件中选择拖入到窗体上。右键单击,选择[编辑皮肤]即可到ActiveSkin 4.3中编辑皮肤
5.Label控件必须使用该部件给的ab控件来替换。原本的A是不会显示
6.选择相应的事件(如Form_Load())。在该事件中输入: Skin1.ApplySkin Me.hWnd
7.如果要移植你的程序到别的机器上运行,请编译打包。因为该皮肤需要系统其它文件来支持。所以你可以选择VB-PowerWrap进行VB程序的封装
VB与ACCESS2003数据库连接相关步骤:
第一步:建立连接
1.引用相关组件:Microsoft ActiveX Data Objects 2.0 Library。Microsoft ADO Data Control 6.0
2.在通用声明段申明:Dim mConn As ADODB.Connection
3.在对应的事件(如Form_Click())中:set mConn=New ADODB.Connection或Dim mConn As New ADODB.Connection
4.设置其连接字串(与磁盘上的MDB文件建立连接):
mConn.ConnectionString="Provider=Microsoft.jet.oledb.4.0;Data Source=" & App.Path & "\RSData.mdb"
5.打开连接:mConn.Open
6.测试连接是否成功:if mConn.State=adStateOpen then msgbox "数据库已经连接成功!" else msgbox "数据库连接不成功!"
以上连接方法是在事件里完成,也可以把连接做一个过程,需要连接时直接带参调用也可。如在模块中这样定义
Public conn As New ADODB.Connection
Public Function DBConnection(FileName As String) As Boolean
Set conn = New ADODB.Connection
conn.ConnectionString = "provider=microsoft.jet.oledb.4.0;" & "data source=" & FileName
vb软件开发 conn.Open
If conn.State = adStateOpen Then
DBConnection = True
Else
DBConnection = False
End If
End Function
然后回事件中调该函数。其相应代码如下:
Private Sub Command2_Click()
CommonDialog1.ShowOpen
Text1.Text = CommonDialog1.FileName
If DBConnection(Text1.Text) Then
MsgBox "连接成功!"
Else
MsgBox "连接失败!"
End If
End Sub
第二步:从数据库中取出记录,绑定到相对应的控件(Microsoft DataGrid Control 6.0(SP6)(OLEDB))中
1.在通用声明段定义记录对象:
Dim rs As New ADODB.Recordset
2.在相应的事件(如Form_Click())中定义:
Set rs = New ADODB.Recordset
Dim sql As String
sql = "select * from 部门表"
rs.CursorLocation = adUseClient
rs.Open sql, mConn, 1, 3
3.在窗体上从部件中到Microsoft DataGrid Control 6.0(SP6)(OLEDB)并加载到工具箱上,然后产生一个实体对象,其名称为DataGrid1
Set DataGrid1.DataSource = mRst.DataSource
注意:游标与锁(附表1,游标说明)
0=adopenForwardonly:仅向前游标 — 除仅允许在记录中向前滚动之外,其行为类似动态
游标。这样,当需要在 Recordset 中单程移动时就可提高性能。
1=adopenkeyset:键集游标 — 其行为类似动态游标,不同的只是禁止查看其他用户添加的记录,并禁止访问其他用户删除的记录,其他用户所作的数据更改将依然可见。它始终支持书签,因此允许 Recordset 中各种类型的移动。
2=adopenDynamic:动态游标 — 用于查看其他用户所作的添加、更改和删除,并用于不依赖书签的 Recordset 中各种类型的移动。如果提供者支持,可使用书签。
3=adopenstatic:静态游标 — 提供记录集合的静态副本以查数据或生成报告。它始终支持书签,因此允许 Recordset 中各种类型的移动。其他用户所作的添加、更改或删除将不可见。这是打开客户端 (ADOR) Recordset 对象时唯一允许使用的游标类型。
mRst.CursorLocation = adUseClient:使用由本地游标库提供的客户端游标
mRst.CursorLocation = adUseServer 默认值。使用数据提供者或驱动程序提供的游标。
1=adLockReadOnly 默认值,只读。无法更改数据。
2=adLockPessimistic 保守式记录锁定(逐条)。提供者执行必要的操作确保成功编辑记录,通常采用编辑时立即锁定数据源的记录的方式。
3=adLockOptimistic 开放式记录锁定(逐条)。提供者使用开放式锁定,只在调用 Update 方法时锁定记录。
4=adLockBatchOptimistic 开放式批更新。用于与立即更新模式相反的批更新模式。
第三步:向数据库中写数据(一个相应的事件,如Command1_Click())
Dim bmid As String,bmmc As String,sql As String
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
bmid = Text1.Text:bmmc = Text2.Text
conn.ConnectionString = "provider=microsoft.jet.oledb.4.0;data source=" & App.Path & "\rsdata.mdb"
conn.Open
On Error GoTo cancel:
sql = "insert into 部门表(部门ID,部门名称) values('" + bmid + "','" + bmmc + "')"
rs.Open sql, conn
cancel:
If conn.Errors.Count = 0 Then
Else
MsgBox "写数据有问题,主键重复"
End If
除了用SQL语句增加库记录以外,也可以用下面的方法来增加库记录
rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic
rs.Open "部门表", conn, , , adCmdTable
rs.AddNew
rs.Fields(0) = bmid
rs.Fields(1) = bmmc
rs.Update
第四步:删除数据库中的一条记录(一个相应的事件,如Command2_Click())
Private Sub command2_click()
Dim sql As String
Dim conn As New ADODB.Connection
Set rst = New ADODB.Recordset
Dim bmid As String
bmid = Trim(DataGrid1.Columns(0))
conn.ConnectionString = "provider=microsoft.jet.oledb.4.0;data source=" & App.Path & "\rsdata.mdb"
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论