Información general sobre ControlEvent

Los ControlEvents son análogos a los mensajes de Microsoft Windows en las aplicaciones basadas en Win32. Sin embargo, en lugar de crear una función de devolución de llamada para recibir mensajes de Windows y enviar mensajes de Windows con la función SendMessage , el instalador de la interfaz de usuario (UI) y los controles publican elementos ControlEvent. Se pueden especificar otros controles y el instalador para suscribirse a determinados ControlEvents que, después, cambiarán los atributos del control de suscripción. Para agregar controles de trabajo a los cuadros de diálogo, el autor de la interfaz de usuario especifica la publicación de ControlEvents en la tabla ControlEvent y suscribe controles a ControlEvents en la tabla EventMapping.

El instalador publicará los siguientes eventos para suscribir los controles que se muestran en la tabla EventMapping. Un control ProgressBar o un control Billboard normalmente se suscriben a SetProgress, el resto se suscriben mediante controles de texto.

ActionData ControlEvent

ActionText ControlEvent

SetProgress ControlEvent

TimeRemaining ControlEvent

ScriptInProgress ControlEvent

El control publica los siguientes eventos cuando la selección de elementos se mueve en un control SelectionTree o e un control DirectoryList. Los controles de suscripción se deben encontrar en el mismo cuadro de diálogo y deben aparecer en la tabla EventMapping.

IgnoreChange ControlEvent

SelectionDescription ControlEvent

SelectionSize ControlEvent

SelectionPath ControlEvent

SelectionAction ControlEvent

SelectionNoItems ControlEvent

Los siguientes ControlEvents se pueden publicar a discreción de un usuario mediante la interacción con un control PushButton o un control CheckBox en un cuadro de diálogo. El control Checkbox solo puede publicar los eventos AddLocal, AddSource, Remove, DoAction y SetProperty. Con las versiones de Windows Installer que se incluyen con Windows Server 2003 y posteriores, el control SelectionTree puede publicar los ControlEvents doAction, ControlEvent y SetProperty. El autor de la interfaz de usuario debe enumerar el ControlEvent en la tabla ControlEvent. El controlador de la interfaz de usuario del instalador es el suscriptor a estos eventos.

AddLocal ControlEvent

AddSource ControlEvent

CheckExistingTargetPath ControlEvent

CheckTargetPath ControlEvent

DoAction ControlEvent

EnableRollback ControlEvent

EndDialog ControlEvent

NewDialog ControlEvent

Reinstall ControlEvent

ReinstallMode ControlEvent

Remove ControlEvent

Reset ControlEvent

SetInstallLevel ControlEvent

SetProperty ControlEvent

SetTargetPath ControlEvent

SpawnDialog ControlEvent

SpawnWaitDialog ControlEvent

ValidateProductID ControlEvent

Un control PushButton puede publicar los siguientes eventos en un control SelectionTree de suscripción o en un control DirectoryList ubicado en el mismo cuadro de diálogo. El control PushButton debe aparecer en la tabla ControlEvent y los controles de suscripción deben aparecer en la tabla EventMapping.

SelectionBrowse ControlEvent

DirectoryListUp ControlEvent

DirectoryListNew ControlEvent

DirectoryListOpen ControlEvent

Por lo general, los eventos de control requieren que la interfaz de usuario se ejecute en el nivel de interfaz de usuario completa. La mayoría de los elementos de ControlEvent no funcionarán con una interfaz de usuario reducida ni con una interfaz de usuario básica, ya que estos niveles solo muestran cuadros de diálogo sin modelo. Los eventos ActionText, AddSource, SetProgress, TimeRemaining y ScriptInProgress son excepciones y funcionarán en una interfaz de usuario reducida o básica. Para más información sobre los niveles de la interfaz de usuario, consulte Niveles de la interfaz de usuario.

Para ejecutar acciones personalizadas, publique un ControlEvent desde un control PushButton o un control Checkbox. Agregue un registro a la tabla ControlEvent con los nombres del cuadro de diálogo y el control que publica el ControlEvent. Este control debe publicar un ControlEvent DoAction que notifique al instalador que ejecute la acción personalizada. Ni en Windows XP ni en los sistemas anteriores, se puede ejecutar una acción personalizada mediante la publicación de un ControlEvent desde un control SelectionTree.

Para más información sobre ControlEvents concretos, vea la lista de ControlEvents estándar en la Referencia de la interfaz de usuario.