2016-06-06 18 views
1

Zuerst I: Gesucht viel, aber nichts gefunden, das zu decken schien, aber ich könnte es vermissen. (Meine Codierung saugt, damit ich nicht immer wissen, das Richtige zu suchen)Inno Setup: Deaktivieren Sie bestimmte Typen aus dem Menü - ähnlich der zuvor geposteten Components-Methode

Szenario: ich die Dropdown-Liste Ansatz der Auswahl mag mit mehr als die Radio-Buttons oder Checkboxen. Daher füge ich normalerweise einen Typ für jede Komponente hinzu und deaktiviere den Komponentenbildschirm, so dass der Benutzer einfach die entsprechende Option auswählt.

Allerdings möchte ich manchmal überprüfen, ob eine Bedingung erfüllt ist, bevor die Möglichkeit angeboten wird, die Liste insgesamt auszuwählen oder zu reduzieren.

Was ich gefunden: Für Bedingungen fand ich diesen Beitrag Hide/Disable Component at runtime Ich versuchte es seine Art und Weise funktioniert, aber ich möchte die gleiche Sache tun, sondern mit Typen.

Weiter ?: ich nicht finden können, wenn es so etwas wie WizardForm.TypesList.ItemEnabled ist (ich weiß, das ist kein richtiger Anruf)

Kann dies ohne den Aufbau einer vollständig benutzerdefinierte Typen Seite getan werden? Kann es auch eine wahre Haut sein? (Disable Arbeiten auch für mich, Haut ist nur Reiniger)

Antwort

0

Um hide ein Setup-Typ bedingt, verwenden Sie die Check parameter im Types Abschnitt.

[Types] 
Name: "typeA"; Description: "A installation" 
Name: "typeB"; Description: "B installation" 
Name: "typeConditional"; Description: "Some other installation"; Check: CanInstallOther 

[Code] 

function CanInstallOther: Boolean; 
begin 
    Result := ...; 
end; 

Ich glaube nicht, kann man wirklich deaktivieren ein Element der Dropdown-Liste. Sie können verhindern, dass ein Benutzer es auswählt, aber Sie können es nicht grau oder so machen.

+0

Das ist besser, ich bevorzuge sie sehen nicht einmal die Option, wenn die Bedingung erfüllt ist. Getestet mit FileExists, funktioniert wie erforderlich. Vielen Dank! – CADuser