Aracılığıyla paylaş


Bir Nesneye Bağlantı Noktaları Ekleme

ATL Öğreticisi, bağlantı noktaları desteğiyle bir denetimin nasıl oluşturulacağını, olayların nasıl ekleneceğini ve ardından bağlantı noktasının nasıl uygulanacağını gösterir. ATL, IConnectionPointImpl sınıfıyla bağlantı noktaları uygular.

Bağlantı noktası uygulamak için iki seçeneğiniz vardır:

  • Denetime veya nesneye bir bağlantı noktası ekleyerek kendi giden olay kaynağınızı uygulayın.

  • Başka bir tür kitaplığında tanımlanan bir bağlantı noktası arabirimini yeniden kullanın.

Her iki durumda da, Bağlantı Noktası Uygulama Sihirbazı işini yapmak için bir tür kitaplığı kullanır.

Denetime veya nesneye bağlantı noktası eklemek için

  1. .idl dosyasının kitaplık bloğunda bir dispinterface tanımlayın. ATL Denetim Sihirbazı ile denetimi oluşturduğunuzda bağlantı noktaları desteğini etkinleştirdiyseniz, dispinterface zaten oluşturulur. Denetimi oluştururken bağlantı noktaları desteğini etkinleştirmediyseniz, .idl dosyasına el ile bir dispinterface eklemeniz gerekir. Aşağıda bir dispinterface örneği verilmiştir. Giden arabirimlerin dağıtım arabirimleri olması gerekmez, ancak VBScript ve JScript gibi birçok betik dili bunu gerektirir, bu nedenle bu örnekte iki dispinterface kullanılır:

    [
       uuid(3233E37D-BCC0-4871-B277-48AE6B61224A),
       helpstring("Buddy Events")
    ]
    dispinterface DBuddyEvents
    {
       properties:
       methods:
    };
    

    GUID oluşturmak için uuidgen.exe veya guidgen.exe yardımcı programını kullanın.

  2. Projenin .idl dosyasındaki nesnenin ortak sınıfına arabirim olarak [default,source] dispinterface ekleyin. Yine, denetimi oluştururken bağlantı noktaları desteğini etkinleştirdiyseniz, ATL Denetim Sihirbazı ] girdisini [default,sourceoluşturur. Bu girdiyi el ile eklemek için satırı kalın olarak ekleyin:

    coclass Buddy
    {
       [default] interface IBuddy;
       [default,source] dispinterface DBuddyEvents;
    };
    

    Örnek için Circ ATL örneğindeki .idl dosyasına bakın.

  3. Olay arabirimine yöntemler ve özellikler eklemek için Sınıf Görünümü'nü kullanın. Sınıf Görünümü'nde sınıfa sağ tıklayın, kısayol menüsünde Ekle'nin üzerine gelin ve Bağlantı Noktası Ekle'ye tıklayın.

  4. Bağlantı Noktası Uygulama Sihirbazı'nın Kaynak Arabirimler liste kutusunda Project'in arabirimlerini seçin. Denetiminiz için bir arabirim seçip Tamam'a basarsanız şunları yapacaksınız:

    • Olay için giden çağrıları yapacak kodu uygulayan bir olay ara sunucusu sınıfına sahip bir üst bilgi dosyası oluşturun.

    • Bağlantı noktası haritasına bir girdi ekleyin.

    Ayrıca, bilgisayarınızdaki tüm tür kitaplıklarının listesini görürsünüz. Başka bir tür kitaplığında bulunan giden arabirimin aynısını uygulamak istiyorsanız bağlantı noktanızı tanımlamak için bu tür kitaplıklardan yalnızca birini kullanmanız gerekir.

Başka bir tür kitaplığında tanımlanan bir bağlantı noktası arabirimini yeniden kullanmak için

  1. Sınıf Görünümü'nde, BEGIN_COM_MAP makro uygulayan bir sınıfa sağ tıklayın, kısayol menüsünde Ekle'nin üzerine gelin ve Bağlantı Noktası Ekle'ye tıklayın.

  2. Bağlantı Noktası Uygulama Sihirbazı'nda, tür kitaplığında bir tür kitaplığı ve arabirim seçin ve Ekle'ye tıklayın.

  3. .idl dosyasını şu şekilde düzenleyin:

    • Olay kaynağı kullanılan nesnenin .idl dosyasından dispinterface değerini kopyalayın.

    • Bu tür kitaplığında importlib yönergesini kullanın.

Ayrıca bkz.

Bağlantı Noktası