下面就和大家具體談談如何在VB中建立和使用資源文件。
首先,我們先了解一下windows應用程序中一般經常使用的資源:
位圖:位圖是用於創建應用程序用戶界面的圖像。例如,用戶可以為工具欄按鈕創建一套位圖,也可以創建在其它窗口上顯示的位圖。一般來說,都是在圖像編輯器中創建位圖,然後再將該位圖添加到資源文件中。
圖標:圖標是類似於位圖的小圖像,然而,雖然位圖可以具有任意大小的尺寸,但是圖標卻小得多,通常為16*16像素或32*32像素。圖標使用的很多方法與位圖一樣。然而,圖標通常被用作代表最小化應用程序的圖象、代表應用程序文檔類型的圖像和其它類型的應用系統。
字符串表:就是指文本串的一個表格,通常來說字符串用來顯示菜單命令的提示、對話框中和消息框中顯示的信息。要訪問串表格中的文本串,需引用串的ID,它與定義表格的源文件中的串相聯系。
光標:光標是代表鼠標在屏幕上的位置的圖像。盡管windows系統定義和許多類型的光標,但用戶也可以創建自己需要的光標。
定制資源:定制資源是用戶想存儲在其應用程序資源文件中的任何類型的數據。這些數據可以是文本文件或二進制文件,用戶可以用任何喜歡的方式定制資源。資源文件只是作為存儲區域。創建了定制資源,可以避免必須從磁盤文件中加載數據,因為數據隨資源文件一起加載。
對話框:對話框的資源定義包括樣式標志(控制對話框外觀及行為的值)以及對話框中含控件的大小和位置。
菜單欄:用戶應用程序的菜單欄也可以在資源文件中定義。可以在資源文件中指定命令和命令的ID,以用命令在菜單中的位置。
加速器:加速器也稱為熱鍵。它們是用戶快速選取命令時所按下的鍵,使用熱鍵時,不必在應用程序的菜單中尋找命令。加速器在一個表格中定義,這個表將按鍵與命令資源的ID聯系起來。
那麼在VB開發環境中如何使用這些資源呢?
1、添加資源文件編輯器,
啟動VB6.0的IDE集成環境,新建一個工種。點選菜單“Add-Ins”下的“Add-inManager”,在彈出的對話框的列表框中選擇“VBResource(RES)Editor”,單擊“OK“後退出對話框。這樣在“Tools”菜單欄中就有一項“ResourceEditor”了。打開這個工具就可以進行資源文件的編輯了。
2、編輯資源文件
在資源編輯器中編輯資源文件非常簡單。它可是編輯我們在上面先提到的位圖、圖標、光標、字符串及定制資源五種類型的資源,如圖1所示:
在進行編輯時,點擊相應的圖標就可以添加資源了。
編輯資源的方法也很容易,以添加圖片為例看一看添加位圖的方法:點擊添加位圖按鈕,在彈出的對話框中選擇一個位圖文件,單擊“OK”後,位圖的添加就完成了,在這裡要注意屬性按鈕,點擊它以後,可以選擇請語言版本並輸入資源的ID號,這個ID號是標識一類資源的唯一編號,必須記住資源的ID號,以使在應用程序中調用。編輯好資源後,關閉資源編輯器,資文件自動加入新建的工種內。另外,也必須將資源文件保存。其它資源的編輯方法也大體上一樣。
3、使用資源文件,在應用程序中調用資源文件與直接使用資源基本上是一致的。對了,在一個工種中只能保存一個資源文件,在使用資源文件之前,請必須保證資源已經加入到資源文件中了。
調用資源文件中資源的函數有:
LoadResString返回一個文本字符串。語法:LoadResString(index)index必需是一個整數,它用來指定資源文件中數據的標識符(即經常提到的ID號),如果ID號為1的資源保留給應用程序圖標。
LoadResPicture用以從資源(.res)文件裝載位圖、圖標或光標。它的語法:
LoadResPicture(index,format)
LoadResPicture函數的語法包含下列部分:
參數描述
index一個整數或字符串,它用來指定資源文件中數據的標識
符(ID)。ID標識符為1的資源保留給應用程序的圖標。
format必需的。一個數值或常數,如下列“設值"中所描述的,
指定返回數據的格式。
用於format的設置值有:
常數值描述
vbResBitmap位數0位圖資源
vbResIcon圖標1圖標資源
vbResCursor2光標資源
說明:可以使用LoadResPicture函數代替對存儲在Form或控件的Picture屬性中的圖形的引用。
LoadResData返回一個Byte數組,用以從資源(.res)文件裝載若干可能類型的數據。語法為:
LoadResData(index,format)
LoadResData函數的語法包含下列部分:
部分描述
index必需的。一個整數或字符串,它用來指定資源文件中數據的標識
符(ID)。ID標識為1的資源保留給應用程序的圖標。
Format必需的。一個數值,它用來按照下列“設置值"中的描述,指定返
回數據的原始格式。該數值也可以是用戶定義資源的字符串名。
設置值用於format的設置值有:
設置值描述
1光標資源
2位圖資源
3圖標資源
4菜單資源
5對話框
6字符串資源
7字體目錄資源
8字體資源
9加速鍵表
10用戶定義資源
12群組光標
14群組圖標
說明:LoadResData從資源文件裝載的數據可以達到64K。
最後我們用一個簡單的例子來說明這幾個函數的用法:
(1)建立一個窗體,在窗體上放置三個按鈕,一個圖片框用來顯示圖片、圖標。其屬性如圖2所示。
按照前面講述的方法添加資源文件編輯器並建立工程文件,裡面包含一個字符串,位圖、圖標、光標和一個自定義的資源。
程序代碼如下所示:
PrivateSubcmdLoadData_Click()
DimttAsByte
EndSub
PrivateSubcmdLoadPicture_Click()
picTest.Picture=LoadResPicture(101,1)
'如何為0表示位圖,為2表示光標
EndSub
PrivateSubcmdLoadstring_Click()
DimstrAsString
str=LoadResString(101)
MsgBoxstr
EndSub->