圖像清單控制項ImageList包含一個圖像的集合, 這些圖像可被其他需要使用圖像的控制項使用。 例如, 標準控制項中的Image、按鈕等控制項, 以及TreeView控制項、ListView控制項。
用ImageList控制項存儲圖像可以節約程式的開發時間, 因為這樣可以使編寫的代碼引用單一和一致的圖像目錄, 而不用在每次顯示圖片時都使用LoadPicture函數從磁片上裝載圖片。 使用者只需要使用一次LoadPicture函數將圖片填充到ImageList控制項中, 並分配引用的Key值, 這樣在後續的代碼中只需要根據Key或Index屬性來引用ImageList控制項中存儲的圖像即可。
1 添加控制項到工具箱Alt+F11(打開VBE)→插入→使用者表單,
3 將圖像儲藏到ImageList控制項
3.1 使用可視方式添加圖像
ImageList控制項的屬性視窗→“(自訂)"選項的右側的"…"按鈕, 即可按提示插入圖像。
3.2 使用代碼添加圖像
Private Sub UserForm_Initialize()
Dim sPath As String
sPath = ThisWorkbook.Path & ""
With ImageList1.ListImages
.Add , "a", LoadPicture(sPath & "1.jpg")
.Add , "b", LoadPicture(sPath & "2.ico")
.Add , "c", LoadPicture(sPath & "3.ico")
.Add , "d", LoadPicture(sPath & "4.jpg")
End With
End Sub
4 編寫表單控制項代碼Private Sub cmdLoad_Click()
Set Image1.Picture = ImageList1.ListImages("a").Picture
End Sub
Private Sub cmdOver_Click()
ImageList1.MaskColor = vbWhite '遮罩顏色為白色
Set Image1.Picture = ImageList1.Overlay("a", "d")
End Sub
Private Sub cmdClear_Click()
Set Image1.Picture = LoadPicture("")
End Sub
在調用上述表單後, 即可進行如下操作:
-End-