2017-10-14 13 views
0

これは以前に尋ねられたことがあり、いくつかの投稿が見つかりましたが、Noと言う投稿が見つかりましたが、私が見た最新の投稿は2014年だったので、紛失しています。NSISメッセージボックスのカスタムボタン

メッセージボックスボタンをカスタムテキストに変更する方法はありますか?したがって、YesNoCancelの代わりにUninstallReinstallCancelを使用することができます。

この機能が必要なメッセージボックスがいくつかあります。

オプションがカスタムプラグインを作成している場合、誰かが私の頭の中でこれを行うことができますか?

答えて

1

NSISはMessageBox Windows関数を使用するだけで、ボタンテキストを設定することはできません。

ベストプラクティスはカスタムプラグインですが、あなたがうまく尋ねるだけで誰でもあなたのために1つを書くつもりはないと思います。おそらく誰かが少額の手数料でそれをやろうとしているのであれば、NSISフォーラムで尋ねることができます。

!include nsDialogs.nsh 
!include DlgHost.nsh 

Page InstFiles 

Function CloseDlgHostDialog 
Pop $0 
DlgHost::Close 
FunctionEnd 

Function DoSomethingElse 
Pop $0 
MessageBox mb_ok "Hello" 
FunctionEnd 

Function MyDlgBoxCallback 
${Select} $0 
${Case} ${DLGHOST_DLGBOXMSG_INITDLG} 
    nsDialogs::Create 1018 
    Pop $1 
    DlgHost::SetClient $1 

    ${NSD_CreateLabel} 25% 20% 45% 15u "Hello from nsDialogs..." 
    Pop $1 
    ${NSD_CreateButton} 10u 60% 50u 15u "&Close" 
    Pop $1 
    ${NSD_OnClick} $1 CloseDlgHostDialog 

    ${NSD_CreateButton} 70u 60% 80u 15u "&Do something else" 
    Pop $1 
    ${NSD_OnClick} $1 DoSomethingElse 

${Case} ${DLGHOST_DLGBOXMSG_SHOWDLG} 
    nsDialogs::Show 
${EndSelect} 
FunctionEnd 

Function ShowNSDChildDlg 
GetFunctionAddress $0 MyDlgBoxCallback 
DlgHost::DlgBox "* $0 p 200u 120u Test Dialog" 
FunctionEnd 

Section 
Call ShowNSDChildDlg 
SectionEnd 
:独自のカスタムデザインのネストされたダイアログを作成するために、組み込みのページに DlgHost plug-inを使用することができます回避策として