正 文:
在Access 2002中,可以通過數據庫窗體的[啟動]屬性來設置應用程序(ACCESS主窗體)的標題和圖標,那麼在ACCESS 2000中怎麼辦呢?其實Access提供了APPTitle和AppIco兩個屬性以及RefreshTitleBar方法,可以用來實現這個目的,本文將詳細介紹如何編制程序和使用。 首先,新建一個模塊,在模塊中定義兩個常量(來自微軟幫助中的例程):
Public Const DB_Text As Long = 10 ' 屬性值為文本類型
Public Const DB_Boolean As Long = 1 ' 屬性值為邏輯類型
接下編寫下列函數(此函數來自Access幫助中),以實現在數據庫中添加或修改數據庫屬性。
Public Function AddAppProperty(strName As String, varType As Variant, varvalue As Variant) As Integer
'=============================================================================================
' 本函數用來給當前數據庫(.mdb)添加屬性
'
' strName : 屬性名
' varType : 屬性類型
' varvalue: 屬性的值
'
' 返回值 : 成功 為 True (-1)
' 失敗 為 False (0)
'
' 例如:
應用程序標題欄和應用程序圖標
' intX = AddAppProperty("APPTitle", DB_Text, "更改應用各標題欄和應用程序圖標的例子")
' intX = AddAppProperty("AppIcon", DB_Text, CurrentProject.Path & "\MSN.ico")
' ' 應用
設置' Application.RefreshTitleBar
'
' 易和軟件:朱亦文 2002.05.01
'=============================================================================================
Dim dbs As Object, prp As Variant
Const conPropNotFoundError = 3270
' 返回指向當前數據庫的 Database 對象變量。
Set dbs = CurrentDb ' 如果是ADP,則為 CurrentProject
On Error GoTo AddProp_Err
' 更改屬性值, 在更改屬性值出錯出,
' 則表示該屬性不存在,轉到錯誤處理程序。
dbs.PropertIEs(strName) = varvalue
AddAppProperty = True
AddProp_Bye:
Exit Function
AddProp_Err:
If Err = conPropNotFoundError Then
' 添加此屬性
Set prp = dbs.CreateProperty(strName, varType, varvalue)
dbs.PropertIEs.Append prp
Resume
Else
AddAppProperty = False
Resume AddProp_Bye
End If
End Function
然後編寫更改Access標題和圖標的函數:
Public Function ChangeMyAccessTitle(strTitle As String) As Integer
' 設置Access主窗體的標題
ChangeMyAccessTitle = AddAppProperty("APPTitle", DB_Text, strTitle)
Application.RefreshTitleBar ' 刷新標題欄,設置Access的標題
End Function
Public Function ChangeMyAccessIco(strIcoPath As String) As Integer
' 設置Access主窗體的圖標
ChangeMyAccessIco = AddAppProperty("AppIcon", DB_Text, strIcoPath)
Application.RefreshTitleBar ' 刷新標題欄,設置Access的圖標
End Function
如果想要把 Access 的圖標改在 C:\my.ico, 則只要這樣就可以了:
iX = ChangeMyAccessIco("C:\my.ico")
如果想要把 Access 的標題改為“我的應用程序”,則只要這樣:
iX = ChangeMyAccessTitle("我的應用程序")