Archive: about skinnedbutton plugin


about skinnedbutton plugin
how do i unbold the shield letters and fix the unskinned button?


forgot to add that why is the minisise and maximise buttons missing ?_?

and how do you edit those default messageboxes and text in the installer?


nevermind, i already know on how to edit the texts and such.. but still need answers for other questions so for those who know please post!


Use Wansis plugin support to skin buttons.


You can't unbold the second half of "sheild" without editing the UI file with resource hacker or such. As for the skinned button bug, shows in ExperienceUI/wansis too. Unfortunately saivert stopped developing wansis so you'll need to fix it on your own.

Then again, why do you want people to think you use installshield?

-dandaman32


Hi dandaman32, I think the same about the Installshield text, but skinned buttons really make the look better so support for this is very welcomed.


Hello,

I'm the developer of this plugin.

I don't found how to fix the bug of the unskinned "Show Detail" Button in the installfile page.

For the Back Button, I recall which the bug is due to an incompatibility with the plugin StartMenu.
For this reason, In the beta2 of UltraModernUI, I will crate a new alternative StartMenu Page but with InstallOption.

If anybody know how to fix them, I would be him very grateful.


you probably need to block the bm_setstyle message before the buttons original messageproc handles it since that message will cause a button that's been converted to the ownerdrawn style to revert back to a normal button style. i've found with the winamp plugin i have for skinning it's dialogs, the correct blocking of that message allows apply buttons, etc to remain as ownerdrawn yet still update their state correctly. one for you to look at maybe

-daz


I have view that the version of the wansis plugin of the ExperienceUI 1.1 has corrected these bugs.

Unfortunately, its source code is not available :-(


Wansis source is available.

http://home.no.net/nxs/home.wiki

Improvement is very appreciated.


Yes, but it is an old version where the problems was not yet solved.

I made an error on my previous post, the bug with the startmenu plug-in is not corrected.


I had a look at the skinnedbutton.dll and found out where it crashes on SendMessage(...), I just have no clue why (at the moment). The problem is that the callback function in the dll gets called over and over again until a stack overflow occurs. I think you will have to add some bits to make windows proceed to the next callback in the queue. I'm not that intimate with Windows GUI programming but I'd really love to get this going.

Oh, by the way, I compiled bigtest.nsi from the examples that come with the UltraModernUI package. On the "Confirm Installation" page, the "Back" button is not skinned. Any idea on this? :)

P.S. If someone could provide me with a working sample of the updated skinning functions as used in the ExperienceUI (see above), I can have a look at it and compare the functions' inner working.


I was able to partly fix the problem with the skinnedbutton plugin. I simply changed two SendMessage() calls in the exe stub for a test and all buttons got and remained skinned properly - at the expense of losing the "Enter key = Next button" functionality partly. But I think this is a small price to pay, and with some more programming involved, this can be fixed, too. However, I am still looking into the crash on SendMessage to move back to a previous page.

Edit: Seems I fixed that bug too. But the installer doesn't cleanup its window on finish anymore. Need to look into more details... :)


skinnedbutton crash fix
Hi there,

I am attaching an updated skinnedbutton.c which prevents the crash after using the SendMessage trick to move backwards in the installer.

I was able to get all buttons skinned properly with some additional changes:

change lines 98 and 553 in ui.c in NSIS source (replace the BS_PUSHBUTTON or BS_DEFPUSHBUTTON with BS_OWNERDRAW) and recompile everything. Then replace the exe stubs with the newly compiled ones.

After that pick the GUI.exe of your choice, open it with resource hacker, go to dialog 106 and edit the line for the button with ID 1027: Replace BS_PUSHBUTTON with BS_OWNERDRAW again. Click on "Compile" and File/Save to save the modification.

After these changes, My test installer looks much better :)

P.S. I know that the changes for NSIS are just hacks. The proper solution would be to get the current button style, check for BS_OWNERDRAW flag and leave the button flags alone if it is set.