0

MUI2 コンポーネント ページにいくつかのカスタム機能を追加しようとしています。

ユーザーがコンポーネント(チェックボックス)を選択すると、カスタム関数を呼び出したいと思います。最初のコンポーネントが選択されている場合は、2 番目のコンポーネントもチェック/選択します。

以下のコードはこの機能をコーディングしようとしていますが、コンパイル エラーが発生します。

マクロライン 8 のマクロ __NSD_OnControlEvent のエラー

!include nsdialogs.nsh
!include MUI2.nsh

!define MUI_PAGE_CUSTOMFUNCTION_SHOW compshow

!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE "English"

OutFile "test.exe"

Function OnCustomisationComponentClick 
    #SendMessage 1032 ${TVM_SETITEM} 0 $someTVItem
    MessageBox MB_OK "abc"
FunctionEnd

Function compshow
    FindWindow $0 "#32770" "" $HWNDPARENT
    GetDlgItem $0 $0 1032 # 1032 is the Treeview that holds the components
    !insertmacro __NSD_OnControlEvent ${TVM_SELECTITEM} $0 OnCustomisationComponentClick
FunctionEnd


Section "Dummy"

SectionEnd
4

1 に答える 1

0

NSDialogs マクロは NSDialog ページでのみ機能し、コンポーネント ページはネイティブ NSIS ページです。

変更を処理するには、コールバック関数を使用する必要があります.onSelChange(sections.nsh のヘルパー マクロを使用します)。

于 2012-08-27T02:15:31.200 に答える