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.
Öğ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ı
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.
CheckExistingTargetPath ControlEvent
Kontrol Olayı'i yeniden yükle
ControlEvent Kaldır
ControlEvent sıfırlamayı
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.
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.