ComboBox and ListBox size cannot be set. List appears as small line

Please let our ADS show!

This sites offers only FREE software and it's supported by a few advertisement boxes (no intrusive popups).
Please:

  • disable your AdBlocker by adding CoolSoft website to whitelist
  • give the proper cookie consent
  • enable JavaScript for this website

This seconds wait is to let you update your browser configuration...

Ok, I've done the required changes... now show me your content!
!!! Please enable JavaScript !!!
Posts: 1
Joined: August 30, 2016 - 16:55
ComboBox and ListBox size cannot be set. List appears as small line

Hello,

I am using ver.1.4.2 - NSIS 3.0 final.

I added a combobox to the form. After adding some items to the collection the combo box appears as a small line and cannot be opened (see attachment). The size cannot be set by the NSISDialogDesigner to a larger value.

The code looks like this: 

${NSD_CreateComboBox} 107.95u 120u 204.71u 12.92u ""

After setting the bold value to 120.92u the combobox appears as expected (see attachment). But this must be done in the generated script manually.

${NSD_CreateComboBox} 107.95u 120u 204.71u 120.92u ""

Best Regards,

Fishermans

 

Attachments (Only registered users)
nsisdd1.png
nsisdd2.png
Posts: 1972
Joined: March 25, 2012 - 01:19
Re: ComboBox and ListBox size cannot be set. List appears as small line

Sorry, can't reproduce on my side.

I've created a simple dialog containing only a ComboBox with 2 lines, then built it with NSIS 3.0 final.
The following NSIS script is generated in %TEMP%\NSISDialogDesigner:

; The name of the installer
RequestExecutionLevel user
Name "NSISDialogDesigner-Test"
 
; General Symbol Definitions
!define COMPANY         "CoolSoft"
!define PRODUCT         "CoolSoft NSISDialogDesigner Test"
!define URL             "http://coolsoft.altervista.org/nsisdialogdesigner"
 
VIProductVersion "0.0.0.0"
VIAddVersionKey ProductName "${PRODUCT}"
VIAddVersionKey ProductVersion "0.0.0.0"
VIAddVersionKey CompanyName "${COMPANY}"
VIAddVersionKey CompanyWebsite "${URL}"
VIAddVersionKey FileVersion "0.0.0.0"
VIAddVersionKey FileDescription ""
VIAddVersionKey LegalCopyright ""
 
; installer properties
XPStyle on
 
; The file to write
OutFile "NSISDialogDesigner-test.exe"
SetOverwrite on
 
; MUI Symbol Definitions
!include Sections.nsh
!include MUI2.nsh
!insertmacro MUI_LANGUAGE English
 
; =========================================================
; dialog script begins here
; =========================================================
; =========================================================
; This file was generated by NSISDialogDesigner 1.4.2.0
; http://coolsoft.altervista.org/nsisdialogdesigner
;
; Do not edit it manually, use NSISDialogDesigner instead!
; =========================================================
 
; handle variables
Var hCtl_test
Var hCtl_test_ComboBox1
 
; dialog create function
Function fnc_test_Create
 
  ; === test (type: Dialog) ===
  nsDialogs::Create 1018
  Pop $hCtl_test
  ${If} $hCtl_test == error
    Abort
  ${EndIf}
  !insertmacro MUI_HEADER_TEXT "Dialog title..." "Dialog subtitle..."
 
  ; === ComboBox1 (type: ComboBox) ===
  ${NSD_CreateComboBox} 7.9u 7.38u 280.41u 12.92u ""
  Pop $hCtl_test_ComboBox1
  ${NSD_CB_AddString} $hCtl_test_ComboBox1 "line 1"
  ${NSD_CB_AddString} $hCtl_test_ComboBox1 "line 2"
 
FunctionEnd
 
; dialog show function
Function fnc_test_Show
  Call fnc_test_Create
  nsDialogs::Show
FunctionEnd
 
 
; =========================================================
; dialog script ends here
; =========================================================
 
; show the dialog
!if "" == ""
  Page custom fnc_test_Show
!else
  UninstPage custom fnc_test_Show
!endif
 
Section main
SectionEnd
 
Function .onInit
    InitPluginsDir
!if "" != ""
  ; we're testing the uninstaller, so the installer only writes it and exits
  WriteUninstaller "%UNINSTALLER_FILENAME%"
  Quit
!endif
FunctionEnd
 
Function un.onInit
    InitPluginsDir
FunctionEnd

The resulting .exe works perfectly on both Win7-x64 and Win10-x64, fully updated (see the attached screenshot).
The only way I have to show the issue is to remove all of the items from the Combo, but that's obviously not the case.

Now:

  • what's your OS version?
  • do you by any chance have some particular OS setting, like non standard DPI?
  • could you post your .nsddef file (removing any sensitive data and checking if it still have the issue)?
Attachments (Only registered users)
NSISDialogDesigner-Test.png
Posts: 5
Joined: October 3, 2018 - 15:39
Re: ComboBox and ListBox size cannot be set. List appears as small line

I can reproduce this issue if XPStyles is Off which is required for skinning dialog controls.

Posts: 1972
Joined: March 25, 2012 - 01:19
Re: ComboBox and ListBox size cannot be set. List appears as small line

Could you post a ZIP file with a minimal project showing the bug?
I mean a minimal .nsi file together with a .nsddef file.

Posts: 5
Joined: October 3, 2018 - 15:39
Re: ComboBox and ListBox size cannot be set. List appears as small line

So it appears to be related to UMUI.nsh and possible other skinning plugins.

It shows the old style Combo Boxes such as the one linked in the OP.

Using UMUI.nsh and defining its internal XPStyles to be off I can see the issue.

Not something I would expect to be fixed.

Although I did find this article interesting not sure if it is related or not: https://blogs.msdn.microsoft.com/oldnewthing/20060310-17/?p=31973

Attachments (Only registered users)
NSISDialogDesigner-TestComboBox.txt
Posts: 1972
Joined: March 25, 2012 - 01:19
Re: ComboBox and ListBox size cannot be set. List appears as small line

Replacing UMUI.nsh with MUI.nsh works, so I also suppose it's something wrong within UMUI.nsh (which should emulate MUI.nsh completely).

nickdollahz wrote:
Although I did find this article interesting not sure if it is related or not

That document shows how to set the size of the popup that appears when you open a combo-box; it's not related with its "closed" height.