Archive: BMP Images for Custom Button Skins


BMP Images for Custom Button Skins
Hey Guys,

I'm creating a custom finish page for my installers, and I want to use bitmap images to provide the links to my online webpages.

I already know how to add an OnClick feature to the images to open the webpages, but that feature does not provide sufficient feedback to the user to indicate the presence of the clickable link (no hover effects or click effect). So, I'm looking for another way to use the images to promote the links.

I've created custom buttons on the page, and I wanted to ask if it is possible to skin a unique button with a bitmap image. SkinnedButtons does not provide this.

If not, is there any other way I can use the images to provide the links such that the user will get some kind of feedback (cursor changing to pointed hand, switches image when cursor hovers over area, etc). I'm open to suggestions and could really use some guidance with this.

Thank you


You can use SkinnedControls plugin instead


The only other option is to write a simple plug-in which sub-classes the bitmaps and changes the mouse cursor on mouse over (and possibly draw a border). You can look at the source code for the Linker plug-in or my (old) BrandingURL plug-in to get started.

Stu


Thank you jiake, Afrow Uk.

I'll try the plugin first, then see if I can make my own. I'm not confident in my C++ just yet (too much Java and C#) but I'm eager to learn how to make DLLs.


the skinnedcontrols plugins doesn't seemed design for individual buttons, or I might not be interpreting the examples right.

Does anyone have an example of using it to skin individual buttons on a custom page?


I found a dll used in Inno Setup may create a button using png. But I don't konw how to handle it. I tryied ${NSD_OnClick} and ${NSD_OnNotify}, both are ineffective.

It uses four image to show the normal, hovering, clicked, disabled status.


...InnoSetup? You can't use InnoSetup plugins in NSIS. ...can you? o__O


It is not a plugin for INNO Setup, it is just a common dll that contains some functions, using System plugin to call them.