dcsimg
Login | Register   
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX

By submitting your information, you agree that devx.com may send you DevX offers via email, phone and text message, as well as email offers about other products and services that DevX believes may be of interest to you. DevX will process your information in accordance with the Quinstreet Privacy Policy.


Tip of the Day
Language: VB6
Expertise: Advanced
Jun 5, 1999

WEBINAR:

On-Demand

Application Security Testing: An Integral Part of DevOps


LoadImageList - Reload the images in an ImageList control

Private Declare Function ImageList_ReplaceIcon Lib "COMCTL32" (ByVal hImageList _
    As Long, ByVal i As Long, ByVal hIcon As Long) As Long

' Load a set of images from a disk file to a ImageList control
' The file must have been saved using the SaveImageList control, and the
' target ImageList control must contain enough images in its 
' ListImage collection.

Public Sub LoadImageList(ImageList As ImageList, ByVal FileName As String)
    Dim pb As New PropertyBag
    Dim varTemp As Variant
    Dim handle As Long
    Dim Li As ListImage
    Dim ImgLocal As Object   ' can use early binding here!
    
    ' Error "File not found" if the file doesn't exisit
    If Len(Dir$(FileName)) = 0 Then Err.Raise 53
    
    ' Open the file and read its contents
    handle = FreeFile
    Open FileName For Binary As #handle
    Get #handle, , varTemp
    Close #handle
    
    ' rebuild the property bag object
    pb.Contents = varTemp
    ' create a temporary ImageList control that isn't sited on any form
    Set ImgLocal = pb.ReadProperty("IMG")
    
    ' because we can't clear the ListImage collection of the target
    ' ImageList control if the control is bound to any other control,
    ' the only way to move the images from the temporary ImageList to
    ' the target ImageList is using the ImageList_ReplaceIcon API
    For Each Li In ImgLocal.ListImages
        ImageList_ReplaceIcon ImageList.hImageList, Li.Index - 1, _
            Li.Picture.handle
    Next
End Sub
Luigi Intonti
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
×
We have made updates to our Privacy Policy to reflect the implementation of the General Data Protection Regulation.
Thanks for your registration, follow us on our social networks to keep up-to-date