在ACCESS 2002中,可以通過數(shù)據(jù)庫窗體的[啟動]屬性來設置應用程序(ACCESS主窗體)的標題和圖標,那么在ACCESS 2000中怎么辦呢?其實ACCESS提供了AppTitle和AppIco兩個屬性以及RefreshTitleBar方法,可以用來實現(xiàn)這個目的,本文將詳細介紹如何編制程序和使用。
首先,新建一個模塊,在模塊中定義兩個常量(來自微軟幫助中的例程):
Public Const DB_Text As Long = 10 ’ 屬性值為文本類型
Public Const DB_Boolean As Long = 1 ’ 屬性值為邏輯類型
接下編寫下列函數(shù)(此函數(shù)來自ACCESS幫助中),以實現(xiàn)在數(shù)據(jù)庫中添加或修改數(shù)據(jù)庫屬性。
Public Function AddAppProperty(strName As String, varType As Variant, varvalue As Variant) As Integer
’=============================================================================================
’ 本函數(shù)用來給當前數(shù)據(jù)庫(.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
’ 返回指向當前數(shù)據(jù)庫的 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標題和圖標的函數(shù):
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("我的應用程序")
首先,新建一個模塊,在模塊中定義兩個常量(來自微軟幫助中的例程):
Public Const DB_Text As Long = 10 ’ 屬性值為文本類型
Public Const DB_Boolean As Long = 1 ’ 屬性值為邏輯類型
接下編寫下列函數(shù)(此函數(shù)來自ACCESS幫助中),以實現(xiàn)在數(shù)據(jù)庫中添加或修改數(shù)據(jù)庫屬性。
Public Function AddAppProperty(strName As String, varType As Variant, varvalue As Variant) As Integer
’=============================================================================================
’ 本函數(shù)用來給當前數(shù)據(jù)庫(.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
’ 返回指向當前數(shù)據(jù)庫的 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標題和圖標的函數(shù):
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("我的應用程序")

