Use icons in shell32.dll for buttons on form?

E

emde

Any tips on using the icons in shell32.dll as the image on a button in a
form?

Thanks.
 
S

Shakir Hussain

Try this

[DllImport("Shell32.dll")]
public extern static int ExtractIconEx( string libName, int iconIndex,
IntPtr[] largeIcon, IntPtr[] smallIcon, int nIcons );

int numIcons = 10;//if you want 10 icons for example

IntPtr[] largeIcon = new IntPtr[numIcons ];
IntPtr[] smallIcon = new IntPtr[numIcons ];

usage -

ExtractIconEx( "shell32.dll", 0, largeIcon, smallIcon, numIcons );

//retrieve icon from array
Icon largeIico = Icon.FromHandle( largeIcon[0]);
Icon smallIco = Icon.FromHandle( smallIcon[0]);

The first parameter of ExtractIconEx can be use to get icons for exe or dll.
 
E

emde

Cool this seems to work fairly well. For a standard button I used:

chooseFileButton.Image = iconToUse.ToBitmap();

This works, but the image on the button looks like it needs some type of
alpha channel (black?) to have the correct transparency.

Any ideas on this?

Thanks again.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top