From ed6a6e4d06cfa065583a149292916414fb335ca6 Mon Sep 17 00:00:00 2001 From: anders_k Date: Mon, 25 Sep 2017 11:57:38 +0000 Subject: [PATCH] Added NSD Prepend/Append CB/LB helper macros git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6905 212acab6-be3b-0410-9dea-997c60f758d6 --- Contrib/nsDialogs/Readme.html | 13 +++++++++++-- Contrib/nsDialogs/nsDialogs.nsh | 33 +++++++++++++++++++++++++++++++-- 2 files changed, 42 insertions(+), 4 deletions(-) diff --git a/Contrib/nsDialogs/Readme.html b/Contrib/nsDialogs/Readme.html index 3559e407..ad09a35d 100644 --- a/Contrib/nsDialogs/Readme.html +++ b/Contrib/nsDialogs/Readme.html @@ -81,8 +81,10 @@ code
  • ComboBox & DropList: NSD_CB_AddString, +NSD_CB_InsertString, NSD_CB_SelectString, -NSD_CB_GetCount +NSD_CB_GetCount, +NSD_CB_PrependString, NSD_CB_AppendString
  • ListBox: NSD_LB_AddString, @@ -92,7 +94,8 @@ code NSD_LB_Clear, NSD_LB_GetCount, NSD_LB_SelectString, -NSD_LB_GetSelection +NSD_LB_GetSelection, +NSD_LB_PrependString, NSD_LB_AppendString
  • Animation: NSD_Anim_OpenFile, @@ -801,6 +804,12 @@ SectionEnd

    Adds a string to a combo box.

    +

    NSD_CB_InsertString

    + +

    ${NSD_CB_InsertString} combo_HWND index string

    + +

    Insert a string in a specified position in a combo box.

    +

    NSD_CB_SelectString

    ${NSD_CB_SelectString} combo_HWND string

    diff --git a/Contrib/nsDialogs/nsDialogs.nsh b/Contrib/nsDialogs/nsDialogs.nsh index 7a9b865c..c4779f21 100644 --- a/Contrib/nsDialogs/nsDialogs.nsh +++ b/Contrib/nsDialogs/nsDialogs.nsh @@ -286,8 +286,8 @@ Header file for creating custom installer pages with nsDialogs !define __NSD_ListBox_EXSTYLE ${WS_EX_WINDOWEDGE}|${WS_EX_CLIENTEDGE} !define __NSD_SortedListBox_CLASS LISTBOX -!define __NSD_SortedListBox_STYLE ${DEFAULT_STYLES}|${WS_TABSTOP}|${WS_VSCROLL}|${LBS_DISABLENOSCROLL}|${LBS_HASSTRINGS}|${LBS_NOINTEGRALHEIGHT}|${LBS_NOTIFY}|${LBS_SORT} -!define __NSD_SortedListBox_EXSTYLE ${WS_EX_WINDOWEDGE}|${WS_EX_CLIENTEDGE} +!define __NSD_SortedListBox_STYLE ${__NSD_ListBox_STYLE}|${LBS_SORT} +!define __NSD_SortedListBox_EXSTYLE ${__NSD_ListBox_EXSTYLE} !define __NSD_ProgressBar_CLASS msctls_progress32 !define __NSD_ProgressBar_STYLE ${DEFAULT_STYLES} @@ -502,6 +502,22 @@ System::Call 'COMCTL32::InitCommonControlsEx(*ls)' ; INITCOMMONCONTROLSEX as UIN !macroend +!define NSD_CB_InsertString "!insertmacro _NSD_CB_InsertString " +!macro _NSD_CB_InsertString CONTROL INDEX STRING +SendMessage ${CONTROL} ${CB_INSERTSTRING} ${INDEX} `STR:${STRING}` +!macroend + +!define NSD_CB_PrependString "!insertmacro _NSD_CB_PrependString " +!macro _NSD_CB_PrependString CONTROL STRING +SendMessage ${CONTROL} ${CB_INSERTSTRING} 0 `STR:${STRING}` +!macroend + +!define NSD_CB_AppendString "!insertmacro _NSD_CB_AppendString " +!macro _NSD_CB_AppendString CONTROL STRING +SendMessage ${CONTROL} ${CB_INSERTSTRING} -1 `STR:${STRING}` +!macroend + + !define NSD_CB_SelectString "!insertmacro _NSD_CB_SelectString " !macro _NSD_CB_SelectString CONTROL STRING SendMessage ${CONTROL} ${CB_SELECTSTRING} -1 `STR:${STRING}` @@ -543,6 +559,9 @@ SendMessage ${CONTROL} ${CB_GETITEMDATA} ${INDEX} 0 ${VAR} SendMessage ${CONTROL} ${CB_SETITEMDATA} ${INDEX} ${DATA} !macroend +!define NSD_CB_DelItem `${__NSD_MkCtlCmd_WP} CB_DELETESTRING 0 ` +!define NSD_CB_LimitText `${__NSD_MkCtlCmd_WP} CB_LIMITTEXT 0 ` + ### ListBox ### @@ -557,6 +576,16 @@ SendMessage ${CONTROL} ${CB_SETITEMDATA} ${INDEX} ${DATA} SendMessage ${CONTROL} ${LB_INSERTSTRING} ${INDEX} `STR:${STRING}` !macroend +!define NSD_LB_PrependString "!insertmacro _NSD_LB_PrependString " +!macro _NSD_LB_PrependString CONTROL STRING +SendMessage ${CONTROL} ${LB_INSERTSTRING} 0 `STR:${STRING}` +!macroend + +!define NSD_LB_AppendString "!insertmacro _NSD_LB_AppendString " +!macro _NSD_LB_AppendString CONTROL STRING +SendMessage ${CONTROL} ${LB_INSERTSTRING} -1 `STR:${STRING}` +!macroend + !define NSD_LB_DelString `!insertmacro __NSD_LB_DelString ` !macro __NSD_LB_DelString CONTROL STRING