Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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
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 IOleDocumentSite yöntemini çağırırActivateMe, 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 ActivateDocObjectOnActivateView 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 arabirimidirIOleDocumentSite (). 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::GetDocObjectServer ve CDocObjectServer oluşturucunun bağımsız değişkenleri olarak arabirimiyle yeni COleServerDoc bir nesne veya kendi türetilmiş nesnenizi oluşturmak için geçersiz kılmanız IOleDocumentSite 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 OnSaveViewStateCArchivekaydedilen nesnedeki 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ı