厳密には,透過と言う訳ではないですが.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 | ウィンドウ テキストのデフォルト色を表します |