厳密には,透過と言う訳ではないですが.Inno Setup の TBitmapImage クラスには ReplaceColor と言うメンバ変数が定義されてあり,ここに指定した値が ReplaceWithColor で指定した値に変換されるようです.なので,透過(っぽい)処理を行うためには,透過したい色を ReplaceColor に指定して,インストール画面の色を ReplaceWithColor に指定すると実現する事ができます.
function CreateUserDefinedPage(const AfterID: Integer; const Title: String; const Caption: String): TWizardPage; var page: TWizardPage; begin page := CreateCustomPage(AfterID, Title, Caption); // ... 必要な処理を記述 ... // 画像をロードして作成したページに貼り付ける with TBitmapImage.Create(page) do begin AutoSize := true; ReplaceColor := $FFFFFF; // 白色を透過 ReplaceWithColor := page.Surface.Color; with Bitmap do begin // ロードする画像のパスを指定する LoadFromFile('c:\example\foo.bmp'); end; Parent := page.Surface; end; // ... 必要な処理を記述 ... Result := page; end;
尚,Inno Setup にもシステムカラー用の定数が切られているようです.公式な情報が見つからなかったのですが,恐らくは下記のような定数が存在すると思います(参考:色定数 - RAD Studio).
定数 | 説明 |
---|---|
cl3DDkShadow | 3D コンポーネントの暗い影を表します |
cl3DLight | 3D コンポーネントの明るい部分を表します |
clActiveBorder | アクティブ ウィンドウの枠線のデフォルト色を表します |
clActiveCaption | アクティブ ウィンドウのタイトル バーのデフォルト色を表します |
clAppWorkSpace | アプリケーション作業領域のデフォルト色を表します |
clBackground | Windows のデフォルトの背景色を表します |
clBtnFace | ボタン面の色を表します |
clBtnHighlight | ボタンの強調表示の色を表します |
clBtnShadow | ボタンの影の色を表します |
clBtnText | ボタンの文字のデフォルト色を表します |
clCaptionText | アクティブ ウィンドウのタイトル バーに表示されるテキストのデフォルト色を表します |
clDefault | コンポーネントのデフォルト色を表します |
clGradientActiveCaption | アクティブ ウィンドウのタイトル バーのグラデーション表示における右側の色 |
clGradientInactiveCaption | アクティブでないウィンドウのタイトル バーのグラデーション表示における右側の色 |
clGrayText | 淡色表示されるテキストの色を表します |
clHighlight | 選択されたテキスト ブロックの背景色を表します |
clHighlightText | 選択されたテキストの色を表します |
clInactiveBorder | アクティブでないウィンドウの枠線のデフォルト色を表します |
clInactiveCaption | アクティブでないウィンドウのタイトル バーのデフォルト色を表します |
clInactiveCaptionText | アクティブでないウィンドウのタイトル テキストのデフォルト色を表します |
clInfoBk | ツール チップの背景色を表します |
clInfoText | ツール チップ テキストの色を表します |
clMenu | 選択されていないサブ メニュー項目の背景色を表します |
clMenuBar | 選択されていないメイン メニュー項目の背景色を表します |
clMenuHighlight | 選択されているメニュー項目の背景色を表します |
clMenuText | メニュー テキストのデフォルト色を表します |
clNone | 選択されていない場合の色を表します |
clWindow | ウィンドウのデフォルトの背景色を表します |
clWindowFrame | ウィンドウ フレームのデフォルトの背景色を表します |
clWindowText | ウィンドウ テキストのデフォルト色を表します |