1
NSISを使用してプロジェクトをインストールしています。私はコンポーネントのページにインストールするいくつかのセクションを選択すると、警告テキストでMessageBoxを表示する必要があります。チェックボックスのクリックを追跡する方法はありますか、イベントか何かがありますか?NSIS:コンポーネントチェックイベントのコンポーネントページ
NSISを使用してプロジェクトをインストールしています。私はコンポーネントのページにインストールするいくつかのセクションを選択すると、警告テキストでMessageBoxを表示する必要があります。チェックボックスのクリックを追跡する方法はありますか、イベントか何かがありますか?NSIS:コンポーネントチェックイベントのコンポーネントページ
.onSelChange callbackを使用してください。
NSIS 3で変更されたセクションIDは$ 0に格納されます。
Page Components
Page InstFiles
Section /o "Foo" SID_FOO
SectionEnd
Section "Bar"
SectionEnd
!include LogicLib.nsh
Function .onSelChange
${If} ${SectionIsSelected} ${SID_FOO}
${AndIf} $0 = ${SID_FOO}
MessageBox MB_ICONEXCLAMATION "Warning, section Foo selected!"
${EndIf}
FunctionEnd
あなたはNSIS 2に状態を自分で追跡する必要があります:
Page Components
Page InstFiles
Section /o "Foo" SID_FOO
SectionEnd
Section "Bar"
SectionEnd
!include LogicLib.nsh
Var hasWarned
Function .onSelChange
${If} ${SectionIsSelected} ${SID_FOO}
${AndIf} $hasWarned = 0
StrCpy $hasWarned 1
MessageBox MB_ICONEXCLAMATION "Warning, section Foo selected!"
${EndIf}
/* Uncomment this to display the warning every time it is selected
${IfNot} ${SectionIsSelected} ${SID_FOO}
StrCpy $hasWarned 0
${EndIf}
*/
FunctionEnd
あなたはドキュメントページで見たことがありますか? http://nsis.sourceforge.net/Reference/MessageBox おそらく 'MB_ICONEXCLAMATION'を使用したいと思うでしょう – MateoConLechuga
@MateoConLechuga私はチェックイベント(チェックボックスコントロールをクリック)を意味し、メッセージを表示しません – user2455111