- NSIS Discussion
- How to use bigger Options Tree?
Archive: How to use bigger Options Tree?
Vitaly
12th March 2007 12:55 UTC
How to use bigger Options Tree?
In the following screenshot it shows an alternative layout for the options page...
http://nsis.sourceforge.net/Docs/Mod...es/screen1.png
I'm also using Modern UI, but cannot find out how to switch into this type of options page shown on the picture. The default options tree control is too small, it doesn't have anough space for long items, and the scrolling is ugly.
Does anybody know how to get one of those bigger options tree controls?
Laslie
12th March 2007 13:19 UTC
Modify modern.exe with ResHacker and insert your script
!define MUI_UI "modern.exe"
Laslie
12th March 2007 13:21 UTC
The Components page is Dialog 104 in modern.exe.
Vitaly
12th March 2007 13:29 UTC
Thank you, I just did it, and it worked!
I'm however suspicious about the way, kind-of arse-way, i'd say...
Is there no decent/white way for achieving the same?
Just curious....
onad
12th March 2007 14:04 UTC
There is, by sending OS messages to the controls involved.
A lot of work and IMHO your case not a real advantage. The only advantage is that you can update to the lates NSIS version easily with no modificatios over and over again
But, I have to admit, that is the reason I adjust Dialog item positions on the fly myself. See below for a codesnippet, you will get the idea then.
...
Function MUI_PAGE_INSTALLATION_Setcustomization
;Reposition progressbar
FindWindow $0 "#32770" "" $HWNDPARENT
GetDlgItem $1 $0 1004
System::Call "User32::SetWindowPos(i, i, i, i, i, i, i) b ($1, 0, 0, 90, 0, 0, 0x201)" ; 0x200 if resize width/height is needed
FunctionEnd
demiller9
12th March 2007 14:04 UTC
!define MUI_COMPONENTSPAGE_SMALLDESC
put that before the mui pages. The manual says this makes the descriptions smaller and puts them below the tree - just what you asked for.
Don
Red Wine
12th March 2007 15:35 UTC
And for those who they don't need descriptions, there is the "modern_nodesc.exe" ui.
Vitaly
12th March 2007 15:57 UTC
Hi All!!!
Thank you so much, guys, it is useful to know all the possible ways, and more than i need. What i was looking for in the beginning is the solution suggested by demiller9
with !define MUI_COMPONENTSPAGE_SMALLDESC
I tried that myself before, but it didn't work because i placed after the pages instead of before. Now that it works i can see the difference from the solution i got by hacking the resources:
http://www.actrl.co.uk/options.jpg
This turns out a better solution in my situation than using MUI_COMPONENTSPAGE_SMALLDESC because first of all i got no need for a description, and it feels important to see all items when expanded in the tree list. The one with MUI_COMPONENTSPAGE_SMALLDESC provides a smaller control that has vertical scroll bars in my case, and just for that reason i went for the hacked version.
Again, thank you everybody!!!!
demiller9
12th March 2007 18:59 UTC
!define MUI_COMPONENTSPAGE_NODESC
Try using this before the page definitions.
These defines are shown in the MUI documentation, in section 2 under Components page Interface Settings.
Don
Red Wine
12th March 2007 19:16 UTC
Actually there's no need to hacking recourses for that, the "modern_nodesc.exe" is already included into NSIS\Contrib\UIs and it does exactly what you want, all you need is to define it just as mentioned above by demiller9.
Vitaly
12th March 2007 19:43 UTC
Red Wine, isn't that always wonderful after stumbling for a while to find out the best solution is also the easiest one :)
A+!
Red Wine
12th March 2007 20:04 UTC
Sure, it's wonderful because it's rare the best to be also the easiest ;)