[英]Adding custom labels in NSIS dialog pages, showing and hiding labels in NSIS MUI Directory pages conditionally, how to get the ids of labels
如何隱藏在 NSIS 安裝程序的目錄頁面對話框中添加的自定義 LABEL。 LABEL 是使用 Resource Hacker 添加的,它的 id 是 1300
如何有條件地更改 LABEL 的文本?
如果用戶選擇安裝 DEMO,則 label 文本應為“DEMO”,如果用戶選擇安裝 UPDATE,則 label 文本應為“UPDATE”
我添加了 2 個標簽,現在我相應地隱藏和顯示它們。Label1 ID 是 1300,Label2 ID 是 1301。
# Occurs on Directory page show.
Function DirectoryShow
${If} $InstallType == DEMO
GetDlgItem $5 $HWNDPARENT 1300
MessageBox MB_OK "ID of First Label is $5" ----IT SHOWS '0' INSTEAD OF SHOWING 1300
${NSD_SetText} $5 "INSTALLING DEMO OF SOFTWARE!!!!!!!!!!!!!!!!!"
GetDlgItem $6 $HWNDPARENT 1301
ShowWindow $6 ${SW_HIDE}
;GetDlgItem $1 $HWNDPARENT 2
;ShowWindow $0 ${SW_SHOW}
;ShowWindow $1 ${SW_HIDE}
${Else}
GetDlgItem $7 $HWNDPARENT 1300
ShowWindow $7 ${SW_HIDE}
GetDlgItem $8 $HWNDPARENT 1301
${NSD_SetText} $8 "UPDATING EXISTING SOFTWARE !!!!!!!!!!!!!!!!!"
${EndIf}
FunctionEnd
我如何獲得這些標簽的 ID?
NSIS 使用子對話框來托管實際頁面:
您首先需要獲取內部對話框的句柄,然后您可以找到 label:
FindWindow $0 "#32770" "" $HWNDPARENT ;(This is documented under section 4.9.14.6 in the help file)
GetDlgItem $5 $0 1300
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.