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
Üye işlevinde çağırarak
AfxOleInit
OLE kitaplıklarınıInitInstance
başlatın.InitInstance
Eklenmiş bir öğe yerinde etkinleştirildiğinde kullanılan menü ve hızlandırıcı kaynaklarını atamak için arayarakCDocTemplate::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
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.Geçirilen öğenin şu anda seçili olup olmadığını denetlemek için geçersiz kılın
IsSelected
.Nesne Ekle iletişim kutusunu görüntülemek için bir
OnInsertObject
ileti işleyicisi uygulayın.OnSetFocus
Odağı görünümden yerinde etkin ole eklenmiş öğeye aktarmak için bir ileti işleyicisi uygulayın.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
COleClientItem'den bir sınıf türet. Bu sınıfın nesneleri, OLE belgenize eklenmiş veya bunlara bağlanmış öğeleri temsil eder.
,
OnChangeItemPosition
veOnGetItemPosition
geç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:
Katıştırılmış öğeyi düzenlerken yerinde etkinleştirme.
Daha fazla bilgi için bkz . Etkinleştirme.
Bir sunucu uygulamasından seçimi sürükleyip bırakarak OLE öğelerinin oluşturulması.
Daha fazla bilgi için bkz . OLE sürükleme ve bırakma.
Katıştırılmış nesnelere veya karma kapsayıcı/sunucu uygulamalarına bağlantılar.
Daha fazla bilgi için bkz . Kapsayıcılar: Gelişmiş Özellikler.