CDocObjectServer Sınıfı
Normal COleDocument
bir sunucuyu tam bir DocObject sunucusu haline getirmek için gereken ek OLE arabirimlerini uygular: IOleDocument
, IOleDocumentView
, IOleCommandTarget
ve 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 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. OnApplyViewState
bir 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ı