Aracılığıyla paylaş


CDocObjectServer Sınıfı

Normal COleDocument bir sunucuyu tam bir DocObject sunucusu haline getirmek için gereken ek OLE arabirimlerini uygular: IOleDocument, IOleDocumentView, IOleCommandTargetve IPrint.

Sözdizimi

class CDocObjectServer : public CCmdTarget

Üyeler

Ortak Oluşturucular

Veri Akışı Adı Açıklama
CDocObjectServer::CDocObjectServer Bir CDocObjectServer nesne oluşturur.

Genel Yöntemler

Veri Akışı Adı Açıklama
CDocObjectServer::ActivateDocObject Belge nesne sunucusunu etkinleştirir, ancak göstermez.

Korumalı Yöntemler

Veri Akışı Adı Açıklama
CDocObjectServer::OnActivateView DocObject görünümünü görüntüler.
CDocObjectServer::OnApplyViewState DocObject görünümünün durumunu geri yükler.
CDocObjectServer::OnSaveViewState DocObject görünümünün durumunu kaydeder.

Açıklamalar

CDocObjectServer ' den CCmdTarget türetilir ve arabirimleri kullanıma açmak için ile COleServerDoc yakın bir şekilde çalışır.

DocObject sunucu belgesi, DocObject öğelerinin sunucu arabirimini temsil eden CDocObjectServerItem nesneleri içerebilir.

DocObject sunucunuzu özelleştirmek için kendi sınıfınızı CDocObjectServer türetin ve görünüm kurulum işlevleri olan OnActivateView, OnApplyViewState ve OnSaveViewState'i geçersiz kılın. Çerçeve çağrılarına yanıt olarak sınıfınızın yeni bir örneğini sağlamanız gerekir.

DocObjects hakkında daha fazla bilgi için MFC Başvurusu'ndaki CDocObjectServerItem ve COleCmdUI bölümlerine bakın.

Devralma Hiyerarşisi

CObject

CCmdTarget

CDocObjectServer

Gereksinimler

Üst bilgi: afxdocob.h

CDocObjectServer::ActivateDocObject

Belge nesne sunucusunu etkinleştirmek (ancak göstermemek) için bu işlevi çağırın.

void ActivateDocObject();

Açıklamalar

ActivateDocObject'nin ActivateMe yöntemini çağırırIOleDocumentSite, ancak CDocObjectServer::OnActivateView çağrısında verilen görünümü ayarlama ve görüntülemeyle ilgili belirli yönergeleri beklediğinden görünümü göstermez.

Birlikte docobject ActivateDocObject OnActivateView görünümünü etkinleştirin ve görüntüleyin. DocObject etkinleştirmesi, diğer ole yerinde etkinleştirme türlerinden farklıdır. DocObject etkinleştirmesi yerinde tarama kenarlıklarını ve nesne kenarlıklarını (boyutlandırma tutamaçları gibi) görüntülemeyi atlar, nesne kapsamı işlevlerini yoksayar ve görünüm dikdörtgeninin içine kaydırma çubuklarını çizer (normal yerinde etkinleştirmede olduğu gibi).

CDocObjectServer::CDocObjectServer

Bir CDocObjectServer nesneyi oluşturur ve başlatır.

explicit CDocObjectServer(
    COleServerDoc* pOwner,
    LPOLEDOCUMENTSITE pDocSite = NULL);

Parametreler

pOwner
DocObject sunucusunun istemcisi olan istemci site belgesine yönelik bir işaretçi.

pDocSite
Kapsayıcı tarafından uygulanan arabirimin işaretçisi IOleDocumentSite .

Açıklamalar

DocObject etkin olduğunda, DocObject sunucusunun istemcisiyle (kapsayıcı) iletişim kurmasına izin veren istemci sitesi OLE arabirimidir IOleDocumentSite( ). DocObject sunucusu etkinleştirildiğinde, önce kapsayıcının arabirimini uygulayıp uygulamadığını IOleDocumentSite denetler. Öyleyse, kapsayıcının DocObjects'i desteklenip desteklemediğini görmek için COleServerDoc::GetDocObjectServer çağrılır. Varsayılan olarak NULL GetDocObjectServer döndürür. Kapsayıcının işaretçileri COleServerDoc ve IOleDocumentSite oluşturucunun bağımsız değişkenleri olarak arabirimiyle yeni CDocObjectServer bir nesne veya kendi türetilmiş nesnenizi oluşturmak için geçersiz kılmanız COleServerDoc::GetDocObjectServer gerekir.

CDocObjectServer::OnActivateView

DocObject görünümünü görüntülemek için bu işlevi çağırın.

virtual HRESULT OnActivateView();

Dönüş Değeri

Bir hata veya uyarı değeri döndürür. Varsayılan olarak, başarılı olursa NOERROR döndürür; aksi takdirde E_FAIL.

Açıklamalar

Bu işlev bir yerinde çerçeve penceresi oluşturur, görünüm içinde kaydırma çubukları çizer, sunucunun kapsayıcısıyla paylaştığı menüleri ayarlar, çerçeve denetimleri ekler, etkin nesneyi ayarlar, ardından son olarak yerinde çerçeve penceresini gösterir ve odağı ayarlar.

CDocObjectServer::OnApplyViewState

DocObject görünümünün durumunu geri yüklemek için bu işlevi geçersiz kılın.

virtual void OnApplyViewState(CArchive& ar);

Parametreler

Ar
CArchive Görünüm durumunun serileştirildiği nesne.

Açıklamalar

Bu işlev, görünüm örneklemeden sonra ilk kez görüntülendiğinde çağrılır. OnApplyViewStatebir görünüme, daha önce OnSaveViewState ile kaydedilen nesnedeki CArchive verilere göre kendisini yeniden başlatmasını sağlar. Kapsayıcı görünüm durumu verilerini CArchive herhangi bir şekilde yorumlamaya çalışmadığından görünümün nesnedeki verileri doğrulaması gerekir.

Görünümünüzün durumuna özgü kalıcı bilgileri depolamak için kullanabilirsiniz OnSaveViewState . Bilgileri depolamak için geçersiz kılarsanız OnSaveViewState , bu bilgileri okumak ve yeni etkinleştirildiğinde görünümünüzde uygulamak için geçersiz kılmak OnApplyViewState istersiniz.

CDocObjectServer::OnSaveViewState

DocObject görünümünüzle ilgili ek durum bilgilerini kaydetmek için bu işlevi geçersiz kılın.

virtual void OnSaveViewState(CArchive& ar);

Parametreler

Ar
CArchive Görünüm durumunun serileştirildiği bir nesne.

Açıklamalar

Durumunuz görünüm türü, yakınlaştırma faktörü, ekleme ve seçim noktası gibi özellikleri içerebilir. Kapsayıcı genellikle görünümü devre dışı bırakmadan önce bu işlevi çağırır. Kaydedilen durum daha sonra OnApplyViewState aracılığıyla geri yüklenebilir.

Görünümünüzün durumuna özgü kalıcı bilgileri depolamak için kullanabilirsiniz OnSaveViewState . Bilgileri depolamak için geçersiz kılarsanız OnSaveViewState , bu bilgileri okumak ve yeni etkinleştirildiğinde görünümünüzde uygulamak için geçersiz kılmak OnApplyViewState istersiniz.

Ayrıca bkz.

CCmdTarget Sınıfı
Hiyerarşi Grafiği
CDocObjectServerItem Sınıfı