Condividi tramite


Panoramica di ControlEvent

ControlEvents è analogo ai messaggi di Microsoft Windows nelle applicazioni basate su Win32. Tuttavia, anziché creare una funzione di callback per ricevere messaggi di Windows e inviare messaggi di Windows con la funzione SendMessage , il programma di installazione dell'interfaccia utente e i controlli pubblicano ControlEvents. Altri controlli e il programma di installazione possono essere specificati per sottoscrivere specifici ControlEvents che cambieranno quindi gli attributi del controllo di sottoscrizione. Per aggiungere controlli di lavoro alle finestre di dialogo, l'autore dell'interfaccia utente specifica la pubblicazione di ControlEvents nella tabella ControlEvent e sottoscrive i controlli a ControlEvent nella tabella EventMapping.

Il programma di installazione pubblica gli eventi seguenti per sottoscrivere i controlli elencati nella tabella EventMapping. Un controllo ProgressBar o un controllo Billboard in genere sottoscrive SetProgress, il resto viene sottoscritto dai controlli Text.

ActionData ControlEvent

ActionText ControlEvent

SetProgress ControlEvent

Controllo TimeRemainingEvent

Controllo ScriptInProgress

Gli eventi seguenti vengono pubblicati dal controllo quando la selezione dell'elemento viene spostata in un controllo SelectionTree o nel controllo DirectoryList. I controlli di sottoscrizione devono trovarsi nella stessa finestra di dialogo e elencati nella tabella EventMapping.

IgnoreChange ControlEvent

Controllo SelectionDescriptionEvent

SelectionSize ControlEvent

SelectionPath ControlEvent

SelectionAction ControlEvent

SelectionNoItems ControlEvent

I controlli ControlEvent seguenti possono essere pubblicati a discrezione di un utente interagire con un controllo PushButton o un controllo CheckBox in una finestra di dialogo. Il controllo Checkbox può pubblicare solo gli eventi AddLocal, AddSource, Remove, DoAction e SetProperty. Con le versioni di Windows Installer fornite con Windows Server 2003 e versioni successive, il controllo SelectionTree può pubblicare DoAction, ControlEvent e SetProperty ControlEvents. L'autore dell'interfaccia utente deve elencare ControlEvent nella tabella ControlEvent. Il gestore dell'interfaccia utente del programma di installazione è il sottoscrittore di questi eventi.

AddLocal ControlEvent

AddSource ControlEvent

CheckExistingTargetPath ControlEvent

CheckTargetPath ControlEvent

Controllo DoActionEvent

EnableRollback ControlEvent

Controllo EndDialogEvent

Controllo NewDialogEvent

Reinstallare ControlEvent

ReinstallMode ControlEvent

Rimuovi ControlEvent

Reimposta controlloEvent

SetInstallLevel ControlEvent

Controllo SetPropertyEvent

SetTargetPath ControlEvent

Controllo SpawnDialogEvent

Controllo SpawnWaitDialogEvent

ValidateProductID ControlEvent

Un controllo PushButton può pubblicare gli eventi seguenti in un controllo SelectionTree di sottoscrizione o in un controllo DirectoryList che si trova nella stessa finestra di dialogo. Il controllo PushButton deve essere elencato nella tabella ControlEvent e i controlli di sottoscrizione devono essere elencati nella tabella EventMapping.

SelectionBrowse ControlEvent

Controllo DirectoryListUpEvent

DirectoryListNew ControlEvent

Controllo DirectoryListOpenEvent

Gli eventi di controllo in genere richiedono che l'interfaccia utente venga eseguita a livello di interfaccia utente completa . La maggior parte di ControlEvents non funzionerà con un'interfaccia utente ridotta o un'interfaccia utentedi base perché questi livelli visualizzano solo finestre di dialogo senza modalità. Gli eventi ActionText, AddSource, SetProgress, TimeRemaining e ScriptInProgress sono eccezioni e funzioneranno in un'interfaccia utente ridotta o di base. Per altre informazioni sui livelli dell'interfaccia utente, vedere Livelli di interfaccia utente.

È possibile eseguire azioni personalizzate pubblicando un controllo ControlEvent da un controllo PushButton o checkbox. Aggiungere un record alla tabella ControlEvent con i nomi della finestra di dialogo e il controllo che pubblica ControlEvent. Questo controllo deve pubblicare un controllo DoActionEvent che invia una notifica al programma di installazione per eseguire l'azione personalizzata. Nei sistemi Windows XP o precedenti non è possibile eseguire un'azione personalizzata pubblicando un controllo ControlEvent da un controllo SelectionTree.

Per altre informazioni su controlli specifici, vedere l'elenco di controlli standardEvents in Informazioni di riferimento sull'interfaccia utente.