Archive: Background Color (MUI + IOEx) of Installer


Background Color (MUI + IOEx) of Installer
Hey all,
I figured it out how to change the bgcolor of the installer.
Including the controls. :)
But there is one thing I cannot get to work.
I've got 2 custom pages. In the First I change the color including the section where the buttons are.


InstallOptionsEx::initDialog /NOUNLOAD "$TEMP\First.ini"
FindWindow $R1 "#32770" ""
Pop $R1
SetCtlColors $R1 0x000000 0x919CA0
SetCtlColors $HWNDPARENT 0x000000 0x919CA0
InstallOptionsEx::Show


After leaving the first custompage it loads the second page.
But with different colors. I want it to load the default colors.


InstallOptionsEx::initDialog /NOUNLOAD "$TEMP\Second.ini"
FindWindow $R1 "#32770" ""
Pop $R1
SetCtlColors $R1 0x000000 0xD4D0C8
SetCtlColors $HWNDPARENT 0x000000 0xD4D0C8
InstallOptionsEx::Show


But this doesn't work. Can it be done? Or am I looking in the wrong direction.


Glimmerman

nobody. :(


If you want the custom page to use the default colors, simply don't change its colors. If you're talking about $HWNDPARENT getting back the default Windows color, you could use the /BRANDING switch with no other parameters. It should set the default gray color.


@kichik

If I use the /BRANDING option.
Like this:
SetCtlColors $HWNDPARENT /BRANDING
(Or any other var used in FindWindow.)

It uses the colors I used in my first custom page.
And it does not change to the default grey color.

A bug maybe? Or My error.


The branding color is the default gray color of Windows. If that's not the default color you're looking for, I don't know which default color you refer to.


I know what you mean.
Thats the color I want.
But my first custom page is this color (0x919CA0)
The whole page.
My second custom page right after clicking the next button.
Thats the page I want grey (default color).
But when I use branding I takes the color I use above ( My first custom page color) and not the default grey color I want.


I can't see how this could happen. Attach your script, it might shed some light.


Here's my script. The part that doesn't work.
If you want I can pm the whole script to you.


thx


Well, /BRANDING won't help here because it's transparent and the color "behind" the dialog is still the old color until you move the window.

Since SetCtlColors doesn't accept variables, you can't call GetSysColor yourself and set that color as the background. You can, however, add another label to the main dialog. You can then set a color to that label and hide it using ShowWindow when you want the original color.


mmm I will try this out.

Thx kichik