NSIS: получение индекса выбранного элемента ListBox - PullRequest
0 голосов
/ 15 июня 2019

Я динамически заполняю список, созданный с помощью ${NSD_CreateListBox}.В функции я могу получить выделенный текст, но можно ли получить индекс выбранного элемента?

${NSD_LB_GetSelection} $hCtl_parallelInstall_Installed $0, что возвращает только полный текст?

Большое спасибо

1 Ответ

0 голосов
/ 15 июня 2019

nsDialogs не имеет макроса для каждого отдельного сообщения в библиотеке управления пользовательским интерфейсом Windows, поэтому иногда вам нужно получать информацию непосредственно из 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
...