Important alert: (current site time 7/16/2013 2:23:55 AM EDT)
 

winzip icon

LaVolpe ImageList II (8Jan08)

Email
Submitted on: 1/8/2008 11:53:36 AM
By: LaVolpe 
Level: Advanced
User Rating: By 28 Users
Compatibility: VB 6.0
Views: 25036
author picture
(About the author)
 
     Updated, faster renderings. Based on of my c32bppDIB suite, supports pngs, xp/vista icons, and other common graphics. One control that supports multiple imagelists (same/different sizes). THIS IS NOT TRULY DESIGNED to be added uncompiled to a project, rather it is designed to be a stand-alone OCX. The property page is optional if you just need a runtime-only imagelist. 15Nov07:: Added optional image compression if GDI+/zLib not on O/S, added optional image key/tag compression, added multi-select browse, multi-file drag&drop, multi-file Copy&Paste abilities, added image re-ordering via dragging, added importing from VB imagelists, and fixed some minor bugs. 23Nov07: Masks were not kept with multi-selected files, added several more properties/methods, more examples. 3Dec07: Overhauled class structure, fixed minor errors with property page, added more to the RTF file. Barring bugs, moving on to something new. 8Jan08: Significantly faster rendering from the imagelist. GDI+ would process entire DIB at times to render one image. When imagelist is massive size, slow down noticable. Using a rendering-only DIB can improve drawing multiple images over 30x faster for large lists. Open with Group1.vbg. See Usage_ImageList.RTF file for overview.

 
winzip iconDownload code

Note: Due to the size or complexity of this submission, the author has submitted it as a .zip file to shorten your download time. Afterdownloading it, you will need a program like Winzip to decompress it.Virus note:All files are scanned once-a-day by Planet Source Code for viruses, but new viruses come out every day, so no prevention program can catch 100% of them. For your own safety, please:
  1. Re-scan downloaded files using your personal virus checker before using it.
  2. NEVER, EVER run compiled files (.exe's, .ocx's, .dll's etc.)--only run source code.
  3. Scan the source code with Minnow's Project Scanner

If you don't have a virus scanner, you can get one at many places on the net including:McAfee.com

 
Terms of Agreement:   
By using this code, you agree to the following terms...   
  1. You may use this code in your own programs (and may compile it into a program and distribute it in compiled format for languages that allow it) freely and with no charge.
  2. You MAY NOT redistribute this code (for example to a web site) without written permission from the original author. Failure to do so is a violation of copyright laws.   
  3. You may link to this code from another website, but ONLY if it is not wrapped in a frame. 
  4. You will abide by any additional copyright restrictions which the author may have placed in the code or code's description.


Other 72 submission(s) by this author

 


Report Bad Submission
Use this form to tell us if this entry should be deleted (i.e contains no code, is a virus, etc.).
This submission should be removed because:

Your Vote

What do you think of this code (in the Advanced category)?
(The code with your highest vote will win this month's coding contest!)
Excellent  Good  Average  Below Average  Poor (See voting log ...)
 

Other User Comments
11/13/2007 8:35:02 PMenmity

able to add nifty mask state icon like the shortcut icon? I mean add a small image to the left bottom corner of the icon.
(If this comment was disrespectful, please report it.)

 
11/13/2007 10:05:53 PMLaVolpe

Will update again this weekend. Added Huffman compression when GDI+/zLIB not avail for saving list as PNG. Fixed minor bugs that won't save Key if only case sensitivity changes; fixed where simply entering/exit Tag will trigger change notification. Played with GUI a bit, working on re-ordering of images and some other minor stuff.
(If this comment was disrespectful, please report it.)

 
11/18/2007 10:40:38 PMenmity

biggest & best ImageList control I've ever seen;) but I could not see support for mask icon in the latest update?
(If this comment was disrespectful, please report it.)

 
11/19/2007 2:22:43 AMMarook

wow ! nice code... 5 globes !
(If this comment was disrespectful, please report it.)

 
11/19/2007 4:31:36 AMLight Templer

Finest VB6 Updates by LaVolpe: What Microsoft 'forgots' to do. :-) Great stuff!
(If this comment was disrespectful, please report it.)

 
11/19/2007 8:15:08 AMMark

Great code!!!! 5*'s Thanks for sharing.
(If this comment was disrespectful, please report it.)

 
11/19/2007 1:04:09 PMpietro ing. cecchi

' 9. Any image in the imagelist can be rendered with modified attributes: rotated, grayscaled, lighter, darker, etc.
and how is possible to browse an image and automatically reduce it to icon format...
this is absolutely wonderful Keith...
wow, what a big effort you did!...:)
thank you so much
(If this comment was disrespectful, please report it.)

 
11/19/2007 2:28:37 PMLaVolpe

FYI. Property page nearly good to go. Discovered couple minor graphical issues when scrolling imagelist. If cImageLists (plural) exists in zip, ignore it; will be removed. Posting updates in near future.
(If this comment was disrespectful, please report it.)

 
11/19/2007 2:31:46 PMLaVolpe

@pietro. Are you asking for an ExtractIcon function? Thinking about it, but on Win2K and lower, the icon will render poorly since those cannot render alpha blended icons and VB can't load them either.
(If this comment was disrespectful, please report it.)

 
11/19/2007 8:14:40 PMTom Weber


Genius man!!
(If this comment was disrespectful, please report it.)

 
11/19/2007 9:09:06 PMenmity

@LaVolpe
now I know the problem. any way, great thanks for you tremendous effort;)
(If this comment was disrespectful, please report it.)

 
11/21/2007 5:30:16 AMkibe

unbelievable!
LaVolpe is Greatest of Coders!
Super ImageList.
Thank you very much.
(If this comment was disrespectful, please report it.)

 
11/21/2007 11:12:53 PMBugzy

Incredible effort Keith - documentation/comments are excellent. Deserves nothing less than top globes.
(If this comment was disrespectful, please report it.)

 
11/27/2007 7:27:26 AMZeilo

Excellent! One suggestion for improvement is implementation of System Image List especially to get the icon associated to a file extension, folder or drive. Think about it.
(If this comment was disrespectful, please report it.)

 
11/27/2007 8:51:53 AMLaVolpe

Re-writing for a "final" release, barring bugs & future enhancements. The class structure is being converted to OOP norms. So to get/set a image key, one would use uc.ImageLists(n).Images(x).Key vs the non-standard current method of uc.ImageLists(x).Key(x). The structure I'm using is very similar to ListView ListItems.
(If this comment was disrespectful, please report it.)

 
12/4/2007 1:15:52 PMCarlos Alberto S.

Amazing work again! Thank you so much for sharing it with us! 5/5
(If this comment was disrespectful, please report it.)

 
12/6/2007 1:12:45 AMRana Sohaib

Dear Friend LaVolpe,
I am having a problem to create a COMBO BOX like used in "WINDOWS MESSENGER 6", Its just add every contents in stored form and show the id, and ofcourse the icon Show in the COMBO BOX, and restict the user to use "abc@xyz" user name. I shell be very thankful to you
mailto:alisohaib555@hotmail.com
(If this comment was disrespectful, please report it.)

 
12/6/2007 4:04:36 PMMilutzu

your insistence on VB6 is simply amazing. 5 and respect. whatever you'll do in future please don't disappear in the mass of anonymous
(If this comment was disrespectful, please report it.)

 
12/6/2007 8:34:07 PMSooekd

Hi, LaVolpe
you can help add event Click() on LaVolpe ImageList II. I need event click on image on LaVolpe ImageList II.
Thanks
(If this comment was disrespectful, please report it.)

 
12/7/2007 9:13:36 AMLaVolpe

@Rana Sohaib. MSN6 appears to be custom control. The ListView is closest thing to it. This ImageList control cannot be used with ListView but should be compatible with other custom grid controls. PSC, here, has custom control grids. Recommend trying some of them.
@Sooekd. Replied off line for more info.
(If this comment was disrespectful, please report it.)

 
12/16/2007 2:59:47 AMedwin maicle

thank you for sharing your codes...
(If this comment was disrespectful, please report it.)

 
12/24/2007 6:05:55 AMaan

thanks for planet-source...
It all help me to learning about VB code
(If this comment was disrespectful, please report it.)

 
12/26/2007 3:20:13 PM[])utch[]v[]aster

I do not want to take away anything from this code... It is VERY well written and top-notch. 5 Globes. Just some creating criticism...the properties page should be a little clearer. It is not easy to understand at first. Also, Does this need to be used with your image box control?
(If this comment was disrespectful, please report it.)

 
1/8/2008 12:44:09 PMLaVolpe

Last update uses a separate DIB to speed up rendering overall. When an imagelist (IL) is very large, contains 100's of images or dozens of very large images > 128x128, GDI+ slows down while accessing specific regions of that IL bitmap. The 2nd bitmap is size of a single image only and the code now copies the image from the IL to the 2nd bitmap and that bitmap is used to render from. On an IL using 60 128x128 images, rendering all 60 before update: 10 secs; after update: .02 secs
(If this comment was disrespectful, please report it.)

 
5/16/2008 11:59:53 AMRaf Storr

For both this project and your fantastic AlphaImage control, I get the dreaded error 80004005 when I try to register compiled OCXs. The AlphaImage control runs fine in the IDE. This on Vista Home Premium. Am I being thick? Obviously nothing that wouldn't be cured by you giving me a brain dump, so I could write code as cool as yours!
(If this comment was disrespectful, please report it.)

 
7/15/2008 6:15:31 PMHennyere

One thing though, the technique used in the subclassing module "cCDECL.cls" don't work on systems with DEP capable CPUs with DEP enabled...
(If this comment was disrespectful, please report it.)

 
7/15/2008 6:17:03 PMHennyere

One thing though, the technique used in the subclassing module (cCDECL.cls) don't work on systems with DEP capable CPUs with DEP enabled...
(If this comment was disrespectful, please report it.)

 
8/30/2008 3:21:24 PMHennyere

Hello,

LaVolpeImageList.ocx don't remove from memory! See bellow:

Creater 2 forms "Form1" and "Form2", put a command button in "Form1" and put a "LaVolpeImageList.ocx" with same images in form2.

Form1 - Put this routine:

Private Sub Command1_Click()
Dim i As Integer
For i = 0 To 200
DoEvents
Form2.Show
Unload Form2
Next
End Sub


Compliete an executable and run. When you click on Button of Form1, Form2 will be show and unload by Form1. Open Task Manager "taskmgr" and you'll see the use of memory increases.

I put this example in my website:
http://www.upperwork.com/memory_usage.zip

Sorry for my Bad english!
(If this comment was disrespectful, please report it.)

 
1/2/2009 3:13:19 AMmikeeeee

i couldnt manage to use this control with other controls in vb6 such as treeview listview etc. how can i use this with other controls vb6?
(If this comment was disrespectful, please report it.)

 
5/31/2011 1:48:04 AMafdoal wahyurrahman

how to integrated ListView n LavolpeImageList??
(If this comment was disrespectful, please report it.)

 

Add Your Feedback
Your feedback will be posted below and an email sent to the author. Please remember that the author was kind enough to share this with you, so any criticisms must be stated politely, or they will be deleted. (For feedback not related to this particular code, please click here instead.)
 

To post feedback, first please login.