Sheik
21st May 2008 01:02 UTC
nsdialog - NSD_CreateDropList - Set Sizes Question.
Hi all,
I have a question about nsdialog when using NSD_CreateDropList...
I want to set the size of the "max" "y" distance that the dialog can go.
ie, when you click on the "Down" button, when it expands, it expands down to a certain "Y" point...
Like with InstallOptions we could do something like:
Type=DropList
Left=225
Top=138
Right=304
Bottom=220
Where the bottom was the "max" height of the dialog when "expanded".
With nsdialog and NSD_CreateDropList, I can't seem to set the "max" "y" size...
For example:
${NSD_CreateDropList} 300 150 150 50 $NSDIALOG_Country
The "50" should specify the "MAX" distance, right?
No matter what I change it to, it seems to not matter...
ie, 16, 50, or 200, they all "expand" to a really long size...
What am I doing wrong?
Thanks!
Scott
pospec
21st May 2008 08:50 UTC
It works for me...
Sheik
21st May 2008 15:39 UTC
Ah, that did work.
However, with MUI2, it does not!
Change your script to have this instead:
#!include "nsDialogs.nsh"
!include "MUI2.nsh"
!insertmacro MUI_PAGE_WELCOME
Page custom nsDialogsPage
!insertmacro MUI_PAGE_FINISH
Now the NSD_CreateDropList call appears to completely ignore the "height" parameter, no matter what size I use, from 30 to 300, the size is always way too big, and extends way beyond the bottom of the Wizard page!
I am attaching the quick mod I did to your script.
BTW, thanks for your help so far!
Scott
pospec
22nd May 2008 07:13 UTC
Droplist behavior is very interesting...
Sheik
22nd May 2008 15:57 UTC
Ha! Yeah, your example really shows the problem in great detail!
Bizarre behaviour isn't it?
Sheik
23rd May 2008 18:57 UTC
Well, I figured out one way to fix it.
I am not convinced its the CORRECT way, however.
In "include\nsDialogs.nsh"
Add:
${CBS_NOINTEGRALHEIGHT} to:
!define __NSD_DropList_STYLE
ie, the full line becomes:
!define __NSD_DropList_STYLE ${DEFAULT_STYLES}|${WS_TABSTOP}|${WS_VSCROLL}|${WS_CLIPCHILDREN}|${CBS_AUTOHSCROLL}|${CBS_HASSTRINGS}|${CBS_DROPDOWNLIST}|${CBS_NOINTEGRALHEIGHT}