簡體   English   中英

如何在nsis中即時更改自定義頁面標簽文本?

[英]How to change custom page label text on the fly in nsis?

我寫了一個自定義頁面,我想在其中動態更改標簽文本。我嘗試了以下代碼,但是有些方法無法打包來更改文本。

    Function Maintainance 
    nsDialogs::Create 1018
        Pop $Dialog
        ${If} $Dialog == error
            Abort
        ${EndIf}


        ${NSD_CreateLabel} 0 0 100% 12u "The $CurrentVersion complete installation folder is available at the below link"
        Pop $Label
    FindWindow $0 "#32770" "" $HWNDPARENT
     GetDlgItem $1 $0 1006


    SendMessage $1 ${WM_SETTEXT} 0 "STR:new value 111111"
    nsDialogs::Show
FunctionEnd

任何對此的指點都會有所幫助。

在調用nsDialogs :: Show之前,自定義頁面不可見。 之后必須使用計時器或響應用戶操作來進行任何動態操作:

Page Custom MyPageCreate
Page InstFiles

!include nsDialogs.nsh

var mylabel

Function MyPageCreate
nsDialogs::Create 1018
Pop $0
${NSD_CreateLabel} 0 0 100% 12u "Hello"
Pop $mylabel
${NSD_CreateButton} 0 50% 50% 12u "Change"
Pop $0
${NSD_OnClick} $0 ChangeIt
nsDialogs::Show
FunctionEnd

Function ChangeIt
System::Call kernel32::GetTickCount()i.r0
SendMessage $mylabel ${WM_SETTEXT} 0 "STR:World! $0"
FunctionEnd

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM