Kategori Makroları
Bu makrolar kategori eşlemelerini tanımlar.
Makro | Açıklama |
---|---|
BEGIN_CATEGORY_MAP | Kategori haritasının başlangıcını işaretler. |
END_CATEGORY_MAP | Kategori haritasının sonunu işaretler. |
IMPLEMENTED_CATEGORY | COM nesnesi tarafından uygulanan kategorileri gösterir. |
REQUIRED_CATEGORY | COM nesnesi tarafından kapsayıcının gerekli olduğu kategorileri gösterir. |
Gereksinimler
Üst bilgi: atlcom.h
BEGIN_CATEGORY_MAP
Kategori haritasının başlangıcını işaretler.
BEGIN_CATEGORY_MAP(theClass)
Parametreler
theClass
[in] Kategori eşlemesini içeren sınıfın adı.
Açıklamalar
Kategori eşlemesi, COM sınıfının hangi bileşen kategorilerini uygulayacağını ve kapsayıcısından hangi kategorileri gerektirdiğini belirtmek için kullanılır.
COM sınıfı tarafından uygulanan her kategori için haritaya bir IMPLEMENTED_CATEGORY girdisi ekleyin. Sınıfının istemcilerinin uygulamasını gerektirdiği her kategori için eşlemeye bir REQUIRED_CATEGORY girdisi ekleyin. Eşlemenin sonunu END_CATEGORY_MAP makroyla işaretleyin.
Sınıfın ilişkili bir OBJECT_ENTRY_AUTO veya OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO varsa, modül kaydedildiğinde haritada listelenen bileşen kategorileri otomatik olarak kaydedilir.
Not
ATL, bileşen kategorilerini kaydetmek için standart bileşen kategorileri yöneticisini kullanır. Modül kaydedildiğinde yönetici sistemde yoksa, kayıt başarılı olur, ancak bileşen kategorileri bu sınıf için kaydedilmez.
Bileşen kategorileri hakkında daha fazla bilgi için bkz . Bileşen Kategorileri nedir ve Windows SDK'sında nasıl çalışırlar ?
Örnek
BEGIN_CATEGORY_MAP(CMyCtrl)
IMPLEMENTED_CATEGORY(CATID_Insertable)
END_CATEGORY_MAP()
END_CATEGORY_MAP
Kategori haritasının sonunu işaretler.
END_CATEGORY_MAP()
Örnek
BEGIN_CATEGORY_MAP örneğine bakın.
IMPLEMENTED_CATEGORY
Bileşeninizin kategori haritasına bir IMPLEMENTED_CATEGORY makro ekleyerek catID parametresi tarafından tanımlanan kategoriyi uygulayacak şekilde kaydedilmesi gerektiğini belirtin.
IMPLEMENTED_CATEGORY(catID)
Parametreler
catID
[in] Uygulanan kategori için genel benzersiz tanımlayıcıyı (GUID) tutan bir CATID sabiti veya değişkeni. CatID adresi alınır ve haritaya eklenir. Çeşitli hisse senedi kategorileri için aşağıdaki tabloya bakın.
Açıklamalar
Sınıfında ilişkili bir OBJECT_ENTRY_AUTO veya OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO makro varsa, modül kaydedildiğinde haritada listelenen bileşen kategorileri otomatik olarak kaydedilir.
İstemciler, sınıfın bir örneğini oluşturmak zorunda kalmadan özelliklerini ve gereksinimlerini belirlemek için sınıf için kaydedilen kategori bilgilerini kullanabilir.
Bileşen kategorileri hakkında daha fazla bilgi için bkz . Bileşen Kategorileri nedir ve Windows SDK'sında nasıl çalışırlar ?
Hisse Senedi Kategorileri Seçimi
Açıklama | Simge | Kayıt Defteri GUID'i |
---|---|---|
Betik oluşturma için güvenli | CATID_SafeForScripting | {7DD95801-9882-11CF-9FA9-00AA006C42C4} |
Başlatma için Güvenli | CATID_SafeForInitializing | {7DD95802-9882-11CF-9FA9-00AA006C42C4} |
Basit Çerçeve Site Kapsaması | CATID_SimpleFrameControl | {157083E0-2368-11cf-87B9-00AA006C8166} |
Basit Veri Bağlama | CATID_PropertyNotifyControl | {157083E1-2368-11cf-87B9-00AA006C8166} |
Gelişmiş Veri Bağlama | CATID_VBDataBound | {157083E2-2368-11cf-87B9-00AA006C8166} |
Penceresiz Denetimler | CATID_WindowlessObject | {1D06B600-3AE3-11cf-87B9-00AA006C8166} |
İnternet'e Duyarlı Nesneler | Örnek liste için bkz . Windows SDK'sında İnternet'e Duyarlı Nesneler . |
Örnek
BEGIN_CATEGORY_MAP(CMyCtrl)
IMPLEMENTED_CATEGORY(CATID_Insertable)
END_CATEGORY_MAP()
REQUIRED_CATEGORY
Bileşeninizin kategori haritasına bir REQUIRED_CATEGORY makro ekleyerek catID parametresi tarafından tanımlanan kategorinin gerekli olması gerektiğini belirtin.
REQUIRED_CATEGORY( catID )
Parametreler
catID
[in] Gerekli kategori için genel benzersiz tanımlayıcıyı (GUID) tutan BIR CATID sabiti veya değişkeni. CatID adresi alınır ve haritaya eklenir. Çeşitli hisse senedi kategorileri için aşağıdaki tabloya bakın.
Açıklamalar
Sınıfında ilişkili bir OBJECT_ENTRY_AUTO veya OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO makro varsa, modül kaydedildiğinde haritada listelenen bileşen kategorileri otomatik olarak kaydedilir.
İstemciler, sınıfın bir örneğini oluşturmak zorunda kalmadan özelliklerini ve gereksinimlerini belirlemek için sınıf için kaydedilen kategori bilgilerini kullanabilir. Örneğin, bir denetim için kapsayıcının veri bağlamayı desteklemesi gerekebilir. Kapsayıcı, denetimin gerektirdiği kategoriler için kategori yöneticisini sorgulayarak denetimi barındırmak için gerekli özelliklere sahip olup olmadığını bulabilir. Kapsayıcı gerekli bir özelliği desteklemiyorsa, COM nesnesini barındırmayı reddedebilir.
Örnek liste de dahil olmak üzere bileşen kategorileri hakkında daha fazla bilgi için bkz . Bileşen Kategorileri nedir ve Windows SDK'sında nasıl çalışırlar ?
Hisse Senedi Kategorileri Seçimi
Açıklama | Simge | Kayıt Defteri GUID'i |
---|---|---|
Betik oluşturma için güvenli | CATID_SafeForScripting | {7DD95801-9882-11CF-9FA9-00AA006C42C4} |
Başlatma için Güvenli | CATID_SafeForInitializing | {7DD95802-9882-11CF-9FA9-00AA006C42C4} |
Basit Çerçeve Site Kapsaması | CATID_SimpleFrameControl | {157083E0-2368-11cf-87B9-00AA006C8166} |
Basit Veri Bağlama | CATID_PropertyNotifyControl | {157083E1-2368-11cf-87B9-00AA006C8166} |
Gelişmiş Veri Bağlama | CATID_VBDataBound | {157083E2-2368-11cf-87B9-00AA006C8166} |
Penceresiz Denetimler | CATID_WindowlessObject | {1D06B600-3AE3-11cf-87B9-00AA006C8166} |
İnternet'e Duyarlı Nesneler | Örnek liste için bkz . Windows SDK'sında İnternet'e Duyarlı Nesneler . |
Örnek
BEGIN_CATEGORY_MAP(CMyWindow)
REQUIRED_CATEGORY(CATID_InternetAware)
END_CATEGORY_MAP()