Aracılığıyla paylaş


Kapsayıcılar: Bir Kapsayıcı Uygulama

Bu makalede kapsayıcı uygulama yordamı özetlenmiştir ve kapsayıcıları uygulama hakkında daha ayrıntılı açıklamalar sağlayan diğer makalelere işaret eder. Ayrıca uygulamak isteyebileceğiniz bazı isteğe bağlı OLE özelliklerini ve bu özellikleri açıklayan makaleleri listeler.

CWinApp türetilmiş sınıfınızı hazırlamak için

  1. Üye işlevinde çağırarak AfxOleInit OLE kitaplıklarını InitInstance başlatın.

  2. InitInstance Eklenmiş bir öğe yerinde etkinleştirildiğinde kullanılan menü ve hızlandırıcı kaynaklarını atamak için arayarak CDocTemplate::SetContainerInfo bağlanın. Bu konu hakkında daha fazla bilgi için bkz . Etkinleştirme.

Bu özellikler, bir kapsayıcı uygulaması oluşturmak için MFC Uygulama Sihirbazı'nı kullandığınızda sizin için otomatik olarak sağlanır. Bkz. MFC EXE Programı Oluşturma.

Görünüm sınıfınızı hazırlamak için

  1. Seçili öğelere yönelik bir işaretçi veya birden çok seçimi destekliyorsanız işaretçi listesi tutarak seçili öğeleri izleyin. İşlevinizin OnDraw tüm OLE öğelerini çizmesi gerekir.

  2. Geçirilen öğenin şu anda seçili olup olmadığını denetlemek için geçersiz kılın IsSelected .

  3. Nesne Ekle iletişim kutusunu görüntülemek için bir OnInsertObject ileti işleyicisi uygulayın.

  4. OnSetFocus Odağı görünümden yerinde etkin ole eklenmiş öğeye aktarmak için bir ileti işleyicisi uygulayın.

  5. OnSize Ole eklenmiş bir öğeye dikdörtgenini içeren görünümün boyutundaki değişikliği yansıtacak şekilde değiştirmesi gerektiğini bildiren bir ileti işleyicisi uygulayın.

Bu özelliklerin uygulanması bir uygulamadan diğerine önemli ölçüde değiştiğinden, uygulama sihirbazı yalnızca temel bir uygulama sağlar. Uygulamanızın düzgün çalışması için bu işlevleri özelleştirmeniz gerekecektir. Bunun bir örneği için bkz . CONTAINER örneği.

Eklenmiş ve bağlı öğeleri işlemek için

  1. COleClientItem'den bir sınıf türet. Bu sınıfın nesneleri, OLE belgenize eklenmiş veya bunlara bağlanmış öğeleri temsil eder.

  2. , OnChangeItemPositionve OnGetItemPositiongeçersiz kılınOnChange. Bu işlevler ekli ve bağlı öğeleri boyutlandırma, konumlandırma ve değiştirme işlemlerini işler.

Uygulama sihirbazı sınıfı sizin için türetecektir, ancak büyük olasılıkla önceki yordamda 2. adımda ve onunla birlikte listelenen diğer işlevleri geçersiz kılmanız OnChange gerekecektir. Bu işlevler bir uygulamadan diğerine farklı şekilde uygulandığından, iskelet uygulamaların çoğu için özelleştirilmesi gerekir. Bunun örnekleri için bkz. DRAWCLI ve CONTAINER MFC örnekleri.

OLE'yi desteklemek için kapsayıcı uygulamasının menü yapısına bir dizi öğe eklemeniz gerekir. Bunlar hakkında daha fazla bilgi için bkz . Menüler ve Kaynaklar: Kapsayıcı Eklemeleri.

Kapsayıcı uygulamanızda aşağıdaki özelliklerden bazılarını da desteklemek isteyebilirsiniz:

Ayrıca bkz.

Konteynerler
Kapsayıcılar: İstemci Öğeleri