atl olay işleme özeti
Genel olarak, com olayları işleme nispeten basit bir işlemdir.Üç ana adım vardır:
Nesneniz olay arabirimini uygular.
Olay kaynağı nesnenizin olayları almak istediği bildirmek.
Nesnenizin artık olayları alması gerektiğinde olay kaynağı unadvise.
Arabirim uygulama
Bileşene ATL kullanarak bir arabirim kullanmanın dört ana yol vardır
Öğesinden türetilmeli |
Arabirim türü için uygun |
* Tüm yöntemleri uygulamak gerekir |
Çalışma zamanında bir tür kitaplığı gerektirir |
---|---|---|---|
Arabirim |
Vtable |
Evet |
Hayyr |
Çift |
Evet |
Evet |
|
Görüntüleme arabirimi |
Hayyr |
Evet |
|
Görüntüleme arabirimi |
Hayyr |
Hayyr |
* atl destek sınıfları kullanırken, hiçbir zaman uygulamak için gerekli IUnknown veya IDispatch yöntemleri el ile.
Bildiren ve olay kaynağı Unadvising
Bildiren ve bileşene ATL kullanarak bir olay kaynağı unadvising üç ana yolu vardır.
İşlev bildirmek |
Unadvise işlevi |
İle kullanmak için en uygun |
Bir tanımlama bilgisi takip etmek gerekir? |
Comments |
---|---|---|---|---|
Vtable veya çift arabirimleri |
Evet |
AtlAdviseGenel bir atl işlevdir.CComPtrBase::Advisetarafından kullanılan CComPtr ve CComQIPtr. |
||
Hayyr |
' Den daha az parametre AtlAdvise beri temel sınıfı daha çok iş yapar. |
|||
Birleşik denetimler ActiveX denetimleri |
Hayyr |
CComCompositeControl::AdviseSinkMaptüm girişleri haritası olay havuzu önerisinde bulunuyor.Aynı işlevi girişleri unadvises.Bu yöntem tarafından otomatik olarak adlandırılan CComCompositeControl sınıfı. |
||
ActiveX denetimlerinde, bir iletişim kutusu |
Hayyr |
CAxDialogImpl::AdviseSinkMapöneren ve iletişim kaynaktaki tüm ActiveX denetimlerini unadvises.Bu sizin için otomatik olarak yapılır. |