![]() |
Change description font in component page
I'm using UMUI for my installer and the default message in the description box is very hard to read (you know the one saying "Position your mouse over a component to see its description").
I tried to change the font using this code, but no luck -- it only changed the "onmouseOver" description text : code: Anyone can help me with this ? |
Looks like MUI is doing funky things. The only way to make this work cleanly that I've found is to specify a non-transparent background color;
code: The problem is in the '0xd4d0c8'. That color is defined somewhere on the system as being the background color for dialogs. But I'll be darned if I can find where. There's... HKCU\Control Panel\Colors ...where matching values on my machine are for: - ButtonFace - InactiveTitleText - Menu - Scrollbar But none of those particularly strike me as being -the- color used by dialogs. 'll have to look further, or let somebody else butt in about how to get the dialog's color :) Edit: "ButtonFace" is the one of interest. Now the next problem is this.. the registry stores the values as "intR intG intB". How on Eerth to get a hex -value- out of that. I can easily turn it into a hex string (splice the string into its three bits, convert each three bits from decimal to hexadecimal). However... code: does not result in the same effect as: code: I'm rather stuck on that part. Anybody? %) |
and I guess as much is noted in the manual:
Quote:
So I'm afraid that as far as my tests go, you'll either.. - have to live with the font 'as is' - use a resource hacker to force a bigger font (see MUI docs) - do use setctlcolors, but with a non-transparent background, which means -- force a particular background color, which may not be the user's system color for the backgrounds -- force your entire installer to be in a particular color, so that the above is rendered moot %) |
Okay, here we go... just bypass MUI altogether.
Note that you -cannot- use: !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN !insertmacro MUI_DESCRIPTION_TEXT <section> <string> !insertmacro MUI_FUNCTION_DESCRIPTION_END As using those will throw a duplicate function error... PHP Code:
|
Thanks for this code. At least, I know how to access the default text "Position your mouse..." --
But there is one more question : How can I get rid of the "engraved" look of the default text ? |
EnableWindow $R0 0 gives it the engraved look, so just change it to 1 or try removing all EnableWindow instructions.
-Stu |
MUI starts with the default text engraved (disabled), so you have to enable it first (in the area where you change the font). After that you can do away with the rest of the EnableWindow statements.
PHP Code:
|
Works like a charm. Thanks.
Why is it that the "disabled" look is so awful in UMUI and looks OK in all other templates. Is there a way to change how the "disabled font" is rendered ? |
I'm not sure what it looks like in UltraModern UI - it doesn't look too great in MUI in the location it is, though. It's just not a very good place to have a piece of disabled text :)
I don't think there is a way to change what a disabled control looks like from within NSIS. It should just render with the default disabled control 'look' (e.g. like a browser 'Back' label when you're on a fresh new page). But you can always give it any color you'd like using the earlier code. |
Thanks a lot for all the insights, Animaether. I was finally able to get nsis to do exactly what I wanted.
For others who might be interested, here's the code I came up with in order to make the default description show in one color (light blue) and the section descriptions in another color (white) PHP Code:
Chris |
| All times are GMT. The time now is 04:17. |
Copyright © 1999 - 2010 Nullsoft. All Rights Reserved.