NSIS:获取所选列表框项的索引

时间:2019-06-14 22:29:22

标签: nsis

我正在动态填充使用${NSD_CreateListBox}创建的列表框。在一个函数中,我可以获取所选的文本,但是可以获取所选项目的索引吗?

${NSD_LB_GetSelection} $hCtl_parallelInstall_Installed $0仅返回全文吗?

非常感谢您

1 个答案:

答案 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