我正在动态填充使用${NSD_CreateListBox}
创建的列表框。在一个函数中,我可以获取所选的文本,但是可以获取所选项目的索引吗?
${NSD_LB_GetSelection} $hCtl_parallelInstall_Installed $0
仅返回全文吗?
非常感谢您
答案 0 :(得分:0)
nsDialogs在Windows UI控件库中没有针对每个消息的宏,因此有时您必须直接从MSDN获取信息,但是在这种情况下,该宏存在于NSIS的最新版本中,但尚未记录。如果您使用的是旧版本,则可以自己添加宏:
!include nsDialogs.nsh
!ifndef NSD_LB_GetSelectionIndex
!define NSD_LB_GetSelectionIndex `!insertmacro __NSD_LB_GetSelectionIndex `
!macro __NSD_LB_GetSelectionIndex CONTROL VAR
SendMessage ${CONTROL} ${LB_GETCURSEL} 0 0 ${VAR}
!macroend
!endif
...
${NSD_LB_GetSelectionIndex} $hCtl_parallelInstall_Installed $0