0

NSIS MUI2 ページでヘッダー ビットマップ ウィンドウの z-index を設定することは可能ですか?

MUI2 ページ MUI_PAGE_WELCOME & MUI_PAGE_COMPONENTS で、大きなビットマップを含むウィンドウを他のウィンドウ (ラベル、チェックボックスなど) の後ろに配置しようとしています。

SetWindowPos を使用できることを確認しましたが、ヘッダー ビットマップに関連付けられた HWND にアクセス/検索するにはどうすればよいですか?

また、静的、ラベル、およびチェックボックスの背景を透明に設定する方法はありますか? たぶん、私が使用できる Win32 フラグがありますか、それとも透明なビットマップを使用する必要がありますか?

4

1 に答える 1

1

両方のオプションが可能です。

MUI_HEADERIMAGE_BITMAPとして定義されたビットマップにアクセスするには、1046のIDを使用します(これらのIDを確認するには、ResHackerを使用してNSIS \ Contrib \ UIs \フォルダーにある適切な.exeファイルを開きます)

次に、GetDlgItem OutputVar $HWNDPARENT1046を使用して処理します。NSISでは、すべてのWinAPI関数が正常に機能します。

1)背景全体を作成するのは非常に難しいです-それは多くのコーディングを必要とします。インストーラーのウィンドウは外部ダイアログと内部ダイアログで構成されているため、2つのビットマップ(ダイアログごとに1つ)を追加する必要があります。これは多くのコードであるため、このソリューションをお勧めします。見栄えの良いインストーラーを作成するためのNSISのグラフィカルインストーラー。

2):SetCtlColors ControlHwnd TextColortransparentを使用します。これはほとんどのコントロールで機能しますが、WinXPではいくつかの問題があります。もう1つの方法は、すべてのコントロールをサブクラス化し、そのWM_PAINTメッセージをオーバーライドすることです(単純なCプラグインを作成します)。

于 2012-05-18T05:15:00.497 に答える