Übersicht über ControlEvent
ControlEvents sind analog zu Microsoft Windows-Nachrichten in Win32-basierten Anwendungen. Anstatt jedoch eine Rückruffunktion zu erstellen, um Windows Nachrichten zu empfangen und Windows Nachrichten mit der SendMessage-Funktion zu senden, veröffentlichen das Installationsprogramm und die Steuerelemente der Benutzeroberfläche ControlEvents. Andere Steuerelemente und das Installationsprogramm können angegeben werden, um bestimmte ControlEvents zu abonnieren, die dann die Attribute des abonnierenden Steuerelements ändern. Um Dialogfeldern Arbeitssteuerelemente hinzuzufügen, gibt der Autor der Benutzeroberfläche die Veröffentlichung von ControlEvents in der ControlEvent-Tabelle an und abonniert ControlEvents-Steuerelemente in der EventMapping-Tabelle.
Das Installationsprogramm veröffentlicht die folgenden Ereignisse zum Abonnieren von Steuerelementen, die in der EventMapping-Tabelleaufgeführt sind. Ein ProgressBar-Steuerelement oder ein Steuerelement vom Format "Control" abonniert in der Regel SetProgress, der Rest wird von Textsteuerelementenabonniert.
Die folgenden Ereignisse werden vom -Steuerelement veröffentlicht, wenn die Elementauswahl in ein SelectionTree-Steuerelement oder ein DirectoryList-Steuerelementverschoben wird. Abonnierende Steuerelemente müssen sich im selben Dialogfeld befinden und in der Tabelle EventMapping aufgeführt sein.
SelectionDescription ControlEvent
Die folgenden ControlEvents können im Ermessen eines Benutzers veröffentlicht werden, indem sie in einem Dialogfeld mit einem PushButton-Steuerelement oder checkBox-Steuerelement interagieren. Das Kontrollkästchen-Steuerelement kann nur die Ereignisse AddLocal, AddSource, Remove, DoAction und SetProperty veröffentlichen. Mit Windows Installer-Versionen, die mit Windows Server 2003 und höher ausgeliefert wurden, kann das SelectionTree-Steuerelement die ControlEvents DoAction, ControlEvent und SetProperty veröffentlichen. Der Autor der Benutzeroberfläche sollte das ControlEvent in der ControlEvent-Tabelle auflisten. Der Benutzeroberflächenhandler des Installationsprogramms ist der Abonnent dieser Ereignisse.
CheckExistingTargetPath ControlEvent
ValidateProductID ControlEvent
Ein PushButton-Steuerelement kann die folgenden Ereignisse in einem abonnierenden SelectionTree-Steuerelement oder DirectoryList-Steuerelement veröffentlichen, das sich im selben Dialogfeld befindet. Das PushButton-Steuerelement sollte in der ControlEvent-Tabelle aufgeführt werden, und die abonnierenden Steuerelemente sollten in der EventMapping-Tabelle aufgeführt werden.
DirectoryListOpen ControlEvent
Steuerungsereignisse erfordern in der Regel, dass die Benutzeroberfläche auf der vollständigen Benutzeroberflächenebene ausgeführt wird. Die meisten ControlEvents funktionieren nicht mit einer reduzierten Benutzeroberfläche oder einer einfachen Benutzeroberfläche, da auf diesen Ebenen nur dialogfelder ohne Modus angezeigt werden. Die Ereignisse ActionText, AddSource, SetProgress, TimeRemaining und ScriptInProgress sind Ausnahmen und funktionieren auf der reduzierten oder einfachen Benutzeroberfläche. Weitere Informationen zu Benutzeroberflächenebenen finden Sie unter Benutzeroberfläche Ebenen.
Sie können benutzerdefinierte Aktionen ausführen, indem Sie ein ControlEvent über ein PushButton-Steuerelement oder ein Kontrollkästchen-Steuerelementveröffentlichen. Fügen Sie der ControlEvent-Tabelle einen Datensatz mit den Namen des Dialogfelds und dem Steuerelement hinzu, das controlEvent veröffentlicht. Dieses Steuerelement sollte ein DoAction ControlEvent veröffentlichen, das das Installationsprogramm benachrichtigt, um die benutzerdefinierte Aktion auszuführen. Auf Windows XP- oder früheren Systemen können Sie keine benutzerdefinierte Aktion ausführen, indem Sie ein ControlEvent aus einem SelectionTree-Steuerelementveröffentlichen.
Weitere Informationen zu bestimmten ControlEvents finden Sie in der Liste der Standard-ControlEvents in Benutzeroberfläche Reference.