0

既存のMUIページにウィンドウ(ラベル)を追加することは可能ですか。インストーラーページ、ウェルカムページのように?

インストーラーページに新しいラベルを追加したいのですが。以下の私のコードは、ウィンドウに新しい静的ウィンドウを追加しますが、他のウィンドウの上に表示/配置されることはありません。WinSpy ++を使用してウィンドウを表示できるため、ウィンドウが存在することはわかっていますが、別のウィンドウの後ろにあります。また、新しいウィンドウのスタイルは「スタイル:50000000(非表示、有効)」ですが、他の通常の静的ウィンドウのスタイルは「スタイル:5000008C(表示、有効)」です。

ラベル(静的ウィンドウ)を表示するにはどうすればよいですか?

!include nsdialogs.nsh
!include MUI2.nsh

!define MUI_PAGE_CUSTOMFUNCTION_SHOW instshow

!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE "English"

OutFile "test.exe"

Function instshow
    FindWindow $0 "#32770" "" $HWNDPARENT
    GetDlgItem $2 $0 1016
    System::Call 'USER32::CreateWindowEx(i0,t "STATIC",t "Some option",i ${WS_CHILD}|${WS_VISIBLE},i100,i100,i100,i20,i$2,i666,i0,i0) $R2'
    System::Call `user32::SetWindowPos(i $R2, i ${HWND_TOP}, i 0, i 0, i 0, i 0, i ${SWP_NOSIZE}|${SWP_NOMOVE})` # attempt to push new label to front

    # Attempt to refresh new labels parent window
    GetDlgItem $R0 $HWNDPARENT 1016
    ShowWindow $R0 ${SW_HIDE}
    ShowWindow $R0 ${SW_SHOW}
    # Attempt to refresh new label 
    ShowWindow $R2 ${SW_HIDE}
    ShowWindow $R2 ${SW_SHOW}
FunctionEnd


Section "Dummy"

SectionEnd
4

1 に答える 1

0

わかりました、それを行う方法はここにあります。アドバイスをありがとうアンダース

!include nsdialogs.nsh
!include MUI2.nsh

!define MUI_PAGE_CUSTOMFUNCTION_SHOW instshow

!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE "English"

OutFile "test.exe"

Function instshow
    FindWindow $0 "#32770" "" $HWNDPARENT
    System::Call 'USER32::CreateWindowEx(i0,t "STATIC",t "Some text",i ${WS_CHILD}|${WS_VISIBLE},i100,i100,i100,i20,i $0,i222,i0,i0) $R2'

    GetDlgItem $1 $0 1027
    GetDlgItem $2 $0 222
    SendMessage $1 ${WM_GETFONT} 0 0 $3
    SendMessage $2 ${WM_SETFONT} $3 1
FunctionEnd


Section "Dummy"

SectionEnd
于 2012-08-27T04:03:29.073 に答える