InnoSetupで、インストールされたコンポーネントを表示する完成したページにComboBoxを表示したいと思います。「なし」またはインストールされているコンポーネントのいずれかを選択し、「終了」をクリックすると関連するプログラムを開始できます。
これはこれまでの私のコードです:
procedure CurPageChanged(CurPageID: Integer);
var
NewComboBox1: TNewComboBox;
begin
if (CurPageID = wpFinished) then begin
NewComboBox1 := TNewComboBox.Create(WizardForm);
with NewComboBox1 do begin
Parent := WizardForm.FinishedPage;
Left := ScaleX(256);
Top := ScaleY(208);
Width := ScaleX(145);
Height := ScaleY(21);
ItemIndex := 0;
Style := csDropDownList;
Items.Add('None');
if IsComponentSelected('1') then
Items.Add('Component 1');
if IsComponentSelected('2') then
Items.Add('Component 2');
if IsComponentSelected('3') then
Items.Add('Component 3');
end;
end;
end;
まず、「なし」を自動選択に設定したい。ページが表示されたとき。私は多くのPascalフォーラムを調べましたが、NewComboBox1.ItemSelected = 0のような解決策はどれも機能しませんでした(または同様の、正しく覚えていません...)。では、どうすればこれを達成できますか?
次に、[完了]をクリックしたときにプログラムを開始する方法がわかりません。と思った
function NextButtonClick
役立つかもしれませんが、セットアップで[次へ]ボタンが機能しませんでした。
選択したコンポーネントに応じてリストが作成されるため、問題も発生する可能性があります。たとえば、コンポーネント1が選択されていない場合、アイテム1はコンポーネント1ではなく、コンポーネント2になります。
アイテムをまったく作成しないのではなく、アイテムを非表示にすることでこれを解決できるのではないかと思いました。
ISヘルプファイルのサポートクラスリファレンスを調べましたが、役立つものは見つかりませんでした。
お返事をお待ちしております!