Aracılığıyla paylaş


ControlEvent'e Genel Bakış

ControlEvents, Win32 tabanlı uygulamalarda Microsoft Windows iletilerine benzer. Ancak, Windows iletilerini almak için bir geri çağırma işlevi oluşturmak ve SendMessage işleviyle Windows iletileri göndermek yerine, kullanıcı arabirimi (UI) yükleyicisi ve denetimleri ControlEventsyayımlar. Diğer denetimler ve yükleyici, belirli ControlEvents'e abone olacak ve ardından abone olan denetimin özniteliklerini değiştirecek şekilde belirtilebilir. İletişim kutularına çalışma denetimleri eklemek için, kullanıcı arabiriminin yazarı ControlEvents tablosunun ControlEvents tablosunun yayınını belirtir ve denetimleri EventMapping tablosundaki ControlEvents'e abone olur.

Yükleyici, EventMapping tablosunda listelenen ve abone olan denetimlere aşağıdaki olayları yayımlar. Bir ProgressBar denetimi veya Billboard denetimi genellikle SetProgress'e abone olur, geri kalanına Metin denetimleri tarafındanabone olunur.

ActionData ControlEvent

ActionText KontrolOlayı

SetProgress ControlEvent

TimeRemaining ControlEvent

ScriptInProgress ControlEvent

Öğe seçimi SelectionTree Denetimi veya DirectoryList Denetimiiçinde taşındığında, aşağıdaki olaylar denetim tarafından yayımlanır. Abone olma denetimleri aynı iletişim kutusunda bulunmalı ve EventMapping tablosunda listelenmelidir.

DeğişikliğiYoksay KontrolOlayı

SeçimAçıklaması KontrolOlayı

SeçimBoyutu KontrolOlayı

SelectionPath ControlEvent

SelectionAction ControlEvent

SeçimYokKalem KontrolOlayı

Aşağıdaki ControlEvents, bir iletişim kutusundaki Düğme denetimi veya Onay Kutusu denetimi kullanılarak, kullanıcının takdirine bağlı olarak yayımlanabilir. Onay Kutusu denetimi yalnızca AddLocal, AddSource, Remove, DoAction ve SetProperty olaylarını yayımlayabilir. Windows Server 2003 ve üzeri sürümlerle birlikte gelen Windows Installer sürümleriyle SelectionTree denetimi DoAction, ControlEvent ve SetProperty ControlEvents'i yayımlayabilir. Kullanıcı arabiriminin yazarı, ControlEvent tablosundaKi ControlEvent'i listelemelidir. Yükleyicinin kullanıcı arabirimi işleyicisi, bu olaylara abone olan kişidir.

AddLocal ControlEvent

KaynakEkle KontrolOlayı

CheckExistingTargetPath ControlEvent

CheckTargetPath ControlEvent

DoAction ControlEvent

EnableRollback ControlEvent

DialoguSonlandır KontrolOlayı

NewDialog ControlEvent

Kontrol Olayı'i yeniden yükle

ReinstallMode ControlEvent

ControlEvent Kaldır

ControlEvent sıfırlamayı

SetInstallLevel ControlEvent

SetProperty ControlEvent

SetTargetPath ControlEvent

SpawnDialog ControlEvent

SpawnWaitDialog ControlEvent

ValidateProductID ControlEvent

PushButton denetimi, aynı iletişim kutusunda bulunan SelectionTree denetimi veya DirectoryList denetimi'e aşağıdaki olayları yayabilir. PushButton Denetimi ControlEvent tablosunda, abone denetimleri ise EventMapping tablosunda listelenmelidir.

SelectionBrowse KontrolOlayı

DirectoryListUp ControlEvent

DirectoryListNew ControlEvent

DirectoryListOpen ControlEvent

Denetim olayları genellikle kullanıcı arabiriminin tam kullanıcı arabirimi düzeyinde çalıştırılmasını gerektirir. Çoğu ControlEvents, azaltılmış kullanıcı arabirimi veya temel kullanıcı arabirimi çalışmaz çünkü bu düzeyler yalnızca modeless iletişim kutularını görüntüler. ActionText, AddSource, SetProgress, TimeRemaining ve ScriptInProgress olayları özel durumlardır ve azaltılmış veya temel kullanıcı arabiriminde çalışır. Kullanıcı arabirimi düzeyleri hakkında daha fazla bilgi için bkz. Kullanıcı Arabirimi Düzeyleri.

PushButton denetiminden bir ControlEvent yayımlayarak özel eylemleri çalıştırabilir veya onay kutusu denetiminden. ControlEvent tablosuna, diyalogun ve ControlEvent'i yayımlayan denetimin adlarıyla bir kayıt ekleyin. Bu denetim, yükleyiciye özel eylemi çalıştırmasını bildiren bir DoAction ControlEvent yayımlamalıdır. Windows XP veya önceki sistemlerde, SelectionTree denetiminden bir ControlEvent yayımlayarak özel bir eylem çalıştıramazsınız.

Belirli ControlEvent'ler hakkında daha fazla bilgi için, Kullanıcı Arabirimi Başvurusu'ndeki standart ControlEvents listesine bakın.