Aracılığıyla paylaş


Sunucuları: Sunucu öğelerini

Böylece kullanıcı, katıştırılmış veya bağlantılı ole öğeyi düzenleyebilirsiniz bir kapsayıcı bir sunucuya başlattığında, bir "server öğesi" sunucu uygulaması oluşturur. Bir sınıfın bir nesnesi sunucusu madde türetilen COleServerItem, server belge ile konteyner uygulaması arasında bir arabirim sağlar.

COleServerItem Sınıf adı ole tarafından genellikle konteynerden gelen isteklere yanıt verilen birkaç geçersiz kılınabilir üye işlevleri tanımlar. Sunucu öğelerini parçası server belge veya tüm belgeyi gösterebilir. Kapsayıcı belgedeki katıştırılmış ole madde, tüm sunucu belge sunucu öğeyi gösterir. ole madde bağlandığında, sunucu öğeyi server belge veya bir bölümü ya da bütün bağlantı olmasına bağlı tüm belge parçası gösterebilir.

HIERSVR , sunucu madde sınıf örnek CServerItem, nesne sınıfının bir işaretçidir üyenin CServerNode. CServerNode bir ağacı HIERSVR uygulamanın belge içindeki bir düğümün bir nesnedir. Zaman CServerNode kök düğümü nesnesidir CServerItem nesnesi, belgenin tamamını temsil eder. Zaman CServerNode nesnesi bir alt düğümü olan CServerItem nesnesi, belgenin bir kısmını temsil eder. mfc ole örnek görmek HIERSVR bu etkileşim örneği için.

Uygulama sunucusu öğeler

Uygulamanız için "Başlatıcı" kodu üretmek için uygulama Sihirbazı'nı kullanırsanız, tüm Başlatıcı kodunuzu sunucu maddeleri dahil etmek için tek yapmanız gereken, ole Seçenekler sayfasından sunucu seçeneklerden birini seçmek için. Varolan uygulama sunucu öğelerini ekleme yapıyorsanız, aşağıdaki adımları gerçekleştirin:

Sunucu öğeyi uygulamak için

  1. Bir sınıftan türer COleServerItem.

  2. Türetilmiş sınıfta geçersiz OnDraw üye işlevi.

    Framework çağrıları OnDraw ole öğe meta dosyasını işlemek için. Konteyner uygulaması bu meta öğeyi işlemek için kullanır. Uygulamanızın view class de vardır bir OnDraw sunucu uygulaması etkin olduğunda, öğeyi işlemek için kullanılan üye işlevi.

  3. Geçersiz uygulama OnGetEmbeddedItem server belge sınıfınızın için. Makalede daha fazla bilgi için bkz: sunucuları: uygulama sunucusu belgeleri ve mfc ole örnek HIERSVR.

  4. Uygulama sunucusu öğe sınıfının OnGetExtent üye işlevi. Framework öğenin boyutunu almak için bu işlevi çağırır. Varsayılan uygulama bir şey yapmaz.

Madde sunucu mimarisi için bir ipucu

De belirtildiği gibi Uygulama sunucusu öğeleri, sunucu uygulamalarının sunucu görünümü hem de konteyner uygulaması tarafından kullanılan bir meta dosyası öğeleri işlemek mümkün olmalıdır. Microsoft Foundation Class Library'nın uygulama mimarisi, görünüm sınıf 's, OnDraw üye işlev işler madde yeniden düzenlenirken (bkz: CView::OnDraw , Sınıf kitaplığı başvuru). Sunucu maddenin OnDraw diğer durumlarda bir meta dosyası içine öğe oluşturur (bkz: COleServerItem::OnDraw).

Server belge sınıfınızın yardımcı işlevler yazarken ve onlardan çağıran kod yinelenmesini önlemek OnDraw görünümü ve sunucu öğe sınıfları işlevleri. mfc ole örnek HIERSVR bu strateji kullanır: işlevler CServerView::OnDraw ve CServerItem::OnDraw hem de çağrı CServerDoc::DrawTree öğeyi işlemek için.

Görünümü ve madde OnDraw üye işlevleri farklı koşullar altında çizim çünkü. Görünüm yakınlaştırma seçim boyutunu ve kapsamı, kırpma ve kaydırma çubukları gibi kullanıcı arabirimi öğeleri olarak gibi etkenler dikkate almanız gerekir. Sunucu öğesi diğer taraftan, her zaman tüm ole nesne çizer.

Daha fazla bilgi için bkz: CView::OnDraw, COleServerItem, COleServerItem::OnDraw, ve COleServerDoc::OnGetEmbeddedItem , Sınıf kitaplığı başvuru.

Ayrıca bkz.

Kavramlar

Sunucuları