Aracılığıyla paylaş


COleServerItem Sınıfı

OLE öğelerine sunucu arabirimi sağlar.

Sözdizimi

class COleServerItem : public CDocItem

Üyeler

Korumalı Oluşturucular

Ad Tanım
COleServerItem::COleServerItem Bir COleServerItem nesne oluşturur.

Genel Yöntemler

Ad Tanım
COleServerItem::AddOtherClipboardData Sunu ve dönüştürme biçimlerini bir COleDataSource nesneye yerleştirir.
COleServerItem::CopyToClipboard Öğeyi Pano'ya kopyalar.
COleServerItem::D oDragDrop Sürükle ve bırak işlemi gerçekleştirir.
COleServerItem::GetClipboardData Veri aktarımında kullanılacak veri kaynağını alır (sürükleyip bırakma veya Pano).
COleServerItem::GetDocument Öğeyi içeren sunucu belgesini döndürür.
COleServerItem::GetEmbedSourceData Ole öğesinin CF_EMBEDSOURCE verilerini alır.
COleServerItem::GetItemName Öğenin adını döndürür. Yalnızca bağlı öğeler için kullanılır.
COleServerItem::GetLinkSourceData Ole öğesinin CF_LINKSOURCE verilerini alır.
COleServerItem::GetObjectDescriptorData Ole öğesinin CF_OBJECTDESCRIPTOR verilerini alır.
COleServerItem::Is Bağlan ed Öğenin etkin bir kapsayıcıya bağlı olup olmadığını gösterir.
COleServerItem::IsLinkedItem Öğenin bağlı bir OLE öğesini temsil edip etmediğini gösterir.
COleServerItem::NotifyChanged Otomatik bağlantı güncelleştirmesi ile tüm kapsayıcıları Güncelleştirmeler.
COleServerItem::OnDoVerb Fiili yürütmek için çağrıldı.
COleServerItem::OnDraw Kapsayıcı öğeyi çizmek istediğinde çağrılır; uygulama gerekli.
COleServerItem::OnDrawEx Özel öğe çizimi için çağrıldı.
COleServerItem::OnGetClipboardData Pano'ya kopyalanacak verileri almak için çerçeve tarafından çağrılır.
COleServerItem::OnGetExtent OLE öğesinin boyutunu almak için çerçeve tarafından çağrılır.
COleServerItem::OnInitFromData Çerçeve tarafından, belirtilen veri aktarımı nesnesinin içeriğini kullanarak bir OLE öğesini başlatmak için çağrılır.
COleServerItem::OnQueryUpdateItems Herhangi bir bağlı öğenin güncelleştirilmesini gerektirip gerektirmediğini belirlemek için çağrılır.
COleServerItem::OnRenderData Gecikmeli işlemenin bir parçası olarak verileri alır.
COleServerItem::OnRenderFileData Gecikmeli işlemenin bir parçası olarak bir CFile nesneye veri alır.
COleServerItem::OnRenderGlobalData Gecikmeli işlemenin bir parçası olarak HGLOBAL'a veri alır.
COleServerItem::OnSetColorScheme Öğenin renk düzenini ayarlamak için çağrılır.
COleServerItem::OnSetData Öğenin verilerini ayarlamak için çağrılır.
COleServerItem::OnSetExtent OLE öğesinin boyutunu ayarlamak için çerçeve tarafından çağrılır.
COleServerItem::OnUpdate Öğenin ait olduğu belgenin bir bölümü değiştirildiğinde çağrılır.
COleServerItem::OnUpdateItems Sunucu belgesindeki tüm öğelerin sunu önbelleğini güncelleştirmek için çağrılır.
COleServerItem::SetItemName Öğenin adını ayarlar. Yalnızca bağlı öğeler için kullanılır.

Korumalı Yöntemler

Ad Tanım
COleServerItem::GetDataSource Dönüştürme biçimlerini depolamak için kullanılan nesneyi alır.
COleServerItem::OnHide OLE öğesini gizlemek için çerçeve tarafından çağrılır.
COleServerItem::OnOpen OLE öğesini kendi üst düzey penceresinde görüntülemek için çerçeve tarafından çağrılır.
COleServerItem::OnShow Kapsayıcı öğeyi göstermek istediğinde çağrılır.

Ortak Veri Üyeleri

Ad Tanım
COleServerItem::m_sizeExtent Sunucuya OLE öğesinin ne kadarının görünür olduğu hakkında bilgi sağlar.

Açıklamalar

Bağlantılı öğe sunucu belgesinin bir bölümünü veya tümünü temsil edebilir. Katıştırılmış öğe her zaman bir sunucu belgesinin tamamını temsil eder.

sınıfı, COleServerItem genellikle kapsayıcı uygulamasından gelen isteklere yanıt olarak OLE sistemi dinamik bağlantı kitaplıkları (DLL' ler) tarafından çağrılan birkaç geçersiz kılınabilir üye işlevi tanımlar. Bu üye işlevleri kapsayıcı uygulamasının öğeyi görüntüleme, fiillerini yürütme veya çeşitli biçimlerde verilerini alma gibi çeşitli yollarla dolaylı olarak işlemesine olanak tanır.

kullanmak COleServerItemiçin, öğesinden bir sınıf türetip OnDraw ve Serialize üye işlevlerini uygulayın. OnDraw işlevi bir öğenin meta dosyası gösterimini sağlayarak kapsayıcı uygulaması bileşik bir belge açtığında görüntülenmesini sağlar. Serialize işleviCObject, bir öğenin yerel gösterimini sağlayarak ekli bir öğenin sunucu ve kapsayıcı uygulamaları arasında aktarılmasını sağlar. OnGetExtent , kapsayıcıya öğenin doğal boyutunu sağlayarak kapsayıcının öğeyi boyutlandırmasını sağlar.

Sunucular ve ilgili konular hakkında daha fazla bilgi için Kapsayıcılar: Gelişmiş Özellikler makalesindeki Sunucular: Sunucu Uygulama ve "Kapsayıcı/Sunucu Uygulaması Oluşturma" makalesine bakın.

Devralma Hiyerarşisi

Cobject

Ccmdtarget

CDocItem

COleServerItem

Gereksinimler

Üst bilgi: afxole.h

COleServerItem::AddOtherClipboardData

OLE öğesinin sunu ve dönüştürme biçimlerini belirtilen COleDataSource nesneye yerleştirmek için bu işlevi çağırın.

void AddOtherClipboardData(COleDataSource* pDataSource);

Parametreler

pDataSource
COleDataSource Verilerin yerleştirilmesi gereken nesnenin işaretçisi.

Açıklamalar

Öğenin sunu biçimini (meta dosyası resmi) sağlamak için OnDraw üye işlevini uygulamış olmanız gerekir. Diğer dönüştürme biçimlerini desteklemek için, GetDataSource tarafından döndürülen COleDataSource nesnesini kullanarak bunları kaydedin ve desteklemek istediğiniz biçimlerde veri sağlamak için OnRenderData üye işlevini geçersiz kılın.

COleServerItem::COleServerItem

Bir COleServerItem nesne oluşturur ve bunu sunucu belgesinin belge öğeleri koleksiyonuna ekler.

COleServerItem(
    COleServerDoc* pServerDoc,
    BOOL bAutoDelete);

Parametreler

pServerDoc
Yeni öğeyi içerecek belge işaretçisi.

bAutoDelete
Nesnenin bağlantısı yayınlandığında silinip silinemeyeceğini gösteren bayrak. Nesne, belgenizin verilerinin COleServerItem silmeniz gereken ayrılmaz bir parçasıysa, bunu YANLIŞ olarak ayarlayın. Nesne, belgenizin verilerinde çerçeve tarafından silinebilecek bir aralığı tanımlamak için kullanılan ikincil bir yapıysa bunu TRUE olarak ayarlayın.

COleServerItem::CopyToClipboard

OLE öğesini Pano'ya kopyalamak için bu işlevi çağırın.

void CopyToClipboard(BOOL bIncludeLink = FALSE);

Parametreler

bIncludeLink
Bağlantı verilerinin Pano'ya kopyalanması gerekiyorsa bunu TRUE olarak ayarlayın. Sunucu uygulamanız bağlantıları desteklemiyorsa bunu YANLIŞ olarak ayarlayın.

Açıklamalar

İşlev, OLE öğesinin verilerini desteklenen biçimlerde içeren bir COleDataSource nesnesi oluşturmak için OnGetClipboardData üye işlevini kullanır. İşlev daha sonra COleDataSource::SetClipboard işlevini kullanarak nesneyi Pano'ya yerleştirirCOleDataSource. nesnesi, COleDataSource öğenin yerel verilerini ve CF_METAFILEPICT biçimindeki gösterimini ve ayrıca desteklemeyi seçtiğiniz dönüştürme biçimlerindeki verileri içerir. Bu üye işlevinin çalışması için Serialize ve OnDraw'ı uygulamış olmanız gerekir.

COleServerItem::D oDragDrop

DoDragDrop Sürükle ve bırak işlemi gerçekleştirmek için üye işlevini çağırın.

DROPEFFECT DoDragDrop(
    LPCRECT lpRectItem,
    CPoint ptOffset,
    BOOL bIncludeLink = FALSE,
    DWORD dwEffects = DROPEFFECT_COPY | DROPEFFECT_MOVE,
    LPCRECT lpRectStartDrag = NULL);

Parametreler

lpRectItem
Öğenin ekrandaki dikdörtgeni, istemci alanına göre piksel cinsinden.

ptOffset
Fare konumunun sürükleme sırasında olduğu lpItemRect uzaklığı.

bIncludeLink
Bağlantı verilerinin Pano'ya kopyalanması gerekiyorsa bunu TRUE olarak ayarlayın. Uygulamanız bağlantıları desteklemiyorsa FALSE olarak ayarlayın.

dwEffects
Sürükleme kaynağının sürükleme işleminde izin verecek etkilerini belirler (Kopyala, Taşı ve Bağla'nın birleşimi).

lpRectStartDrag
Sürüklemenin gerçekten nerede başlatıldığını tanımlayan dikdörtgenin işaretçisi. Daha fazla bilgi için aşağıdaki Açıklamalar bölümüne bakın.

İade Değeri

DROPEFFECT sabit listesinden bir değer. DROPEFFECT_MOVE ise, özgün veriler kaldırılmalıdır.

Açıklamalar

Sürükle ve bırak işlemi hemen başlatılmaz. Fare imleci lpRectStartDrag tarafından belirtilen dikdörtgenden ayrılana kadar veya belirtilen sayıda milisaniye geçene kadar bekler. lpRectStartDrag NULL ise, fare imleci bir piksel hareket ettiğinde sürüklemenin başlaması için varsayılan bir dikdörtgen kullanılır.

Gecikme süresi bir kayıt defteri anahtarı ayarı tarafından belirtilir. Gecikme süresini CWinApp::WriteProfileString veya CWinApp::WriteProfileInt çağrısı yaparak değiştirebilirsiniz. Gecikme süresini belirtmezseniz, varsayılan 200 milisaniyelik bir değer kullanılır. Sürükleme gecikme süresi aşağıdaki gibi depolanır:

  • Windows NT Sürükleme gecikme süresi HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\NT\CurrentVersion\IniFileMapping\win.ini\Windows\DragDelay konumunda depolanır.

  • Windows 3.x Sürükleme gecikme süresi WIN'de depolanır. INI dosyası, [Windows} bölümü altında.

  • Windows 95/98 Sürükleme gecikme süresi win'in önbelleğe alınmış bir sürümünde depolanır. INI.

Sürükleme gecikmesi bilgilerinin kayıt defterinde veya içinde nasıl depolandığı hakkında daha fazla bilgi için. INI dosyası, bkz . Windows SDK'sında WriteProfileString .

COleServerItem::GetClipboardData

Belirtilen COleDataSource nesnesini CopyToClipboard olarak adlandırdıysanız Pano'ya kopyalanacak tüm verilerle doldurmak için bu işlevi çağırın (DoDragDrop olarak adlandırdıysanız aynı veriler de aktarılır).

void GetClipboardData(
    COleDataSource* pDataSource,
    BOOL bIncludeLink = FALSE,
    LPPOINT lpOffset = NULL,
    LPSIZE lpSize = NULL);

Parametreler

pDataSource
OLE öğesinin COleDataSource verilerini desteklenen tüm biçimlerde alacak nesnenin işaretçisi.

bIncludeLink
Bağlantı verilerinin Pano'ya kopyalanması gerekiyorsa TRUE. Sunucu uygulamanız bağlantıları desteklemiyorsa YANLIŞ.

lpOffset
Fare imlecinin nesnenin kaynağından piksel cinsinden uzaklığı.

lpSize
Nesnenin piksel cinsinden boyutu.

Açıklamalar

Bu işlev, OLE öğesinin yerel verilerini almak için GetEmbedSourceData üye işlevini çağırır ve sunu biçimini ve desteklenen dönüştürme biçimlerini almak için AddOtherClipboardData üye işlevini çağırır. bIncludeLink TRUE ise işlev, öğenin bağlantı verilerini almak için GetLinkSourceData'yı da çağırır.

Bir nesneye tarafından CopyToClipboardsağlanan biçimlerden önce veya sonra biçimler COleDataSource koymak istiyorsanız bu işlevi geçersiz kılın.

COleServerItem::GetDataSource

Sunucu uygulamasının desteklediği dönüştürme biçimlerini depolamak için kullanılan COleDataSource nesnesini almak için bu işlevi çağırın.

COleDataSource* GetDataSource();

İade Değeri

Dönüştürme biçimlerini depolamak COleDataSource için kullanılan nesne işaretçisi.

Açıklamalar

Sunucu uygulamanızın veri aktarımı işlemleri sırasında çeşitli biçimlerde veri sunmasını istiyorsanız, bu biçimleri bu işlev tarafından döndürülen nesneye COleDataSource kaydedin. Örneğin, Pano veya sürükle ve bırak işlemleri için OLE öğesinin CF_TEXT bir gösterimini sağlamak istiyorsanız, biçimi bu işlevin COleDataSource döndürdüğü nesneye kaydeder ve sonra verileri sağlamak için üye işlevini geçersiz kılarsınız OnRenderXxxData .

COleServerItem::GetDocument

Öğeyi içeren belgeye bir işaretçi almak için bu işlevi çağırın.

COleServerDoc* GetDocument() const;

İade Değeri

Öğeyi içeren belge işaretçisi; Öğe bir belgenin parçası değilse NULL.

Açıklamalar

Bu, oluşturucuya bağımsız değişken olarak iletmiş olduğunuz sunucu belgesine COleServerItem erişim sağlar.

COleServerItem::GetEmbedSourceData

Ole öğesinin CF_EMBEDSOURCE verilerini almak için bu işlevi çağırın.

void GetEmbedSourceData(LPSTGMEDIUM lpStgMedium);

Parametreler

lpStgMedium
OLE öğesinin CF_EMBEDSOURCE verilerini alacak STGMEDIUM yapısının işaretçisi.

Açıklamalar

Bu biçim, öğenin yerel verilerini içerir. Bu işlevin Serialize düzgün çalışması için üye işlevini uygulamış olmanız gerekir.

Sonuç daha sonra COleDataSource::CacheData kullanılarak bir veri kaynağına eklenebilir. Bu işlev COleServerItem::OnGetClipboardData tarafından otomatik olarak çağrılır.

Daha fazla bilgi için bkz . Windows SDK'sında STGMEDIUM .

COleServerItem::GetItemName

Öğenin adını almak için bu işlevi çağırın.

const CString& GetItemName() const;

İade Değeri

Öğenin adı.

Açıklamalar

Bu işlevi genellikle yalnızca bağlı öğeler için çağırırsınız.

COleServerItem::GetLinkSourceData

Ole öğesinin CF_LINKSOURCE verilerini almak için bu işlevi çağırın.

BOOL GetLinkSourceData(LPSTGMEDIUM lpStgMedium);

Parametreler

lpStgMedium
OLE öğesinin CF_LINKSOURCE verilerini alacak STGMEDIUM yapısının işaretçisi.

İade Değeri

Başarılı olursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Bu biçim, OLE öğesinin türünü açıklayan CLSID'yi ve OLE öğesini içeren belgeyi bulmak için gereken bilgileri içerir.

Sonuç daha sonra COleDataSource::CacheData ile bir veri kaynağına eklenebilir. Bu işlev, OnGetClipboardData tarafından otomatik olarak çağrılır.

Daha fazla bilgi için bkz . Windows SDK'sında STGMEDIUM .

COleServerItem::GetObjectDescriptorData

Ole öğesinin CF_OBJECTDESCRIPTOR verilerini almak için bu işlevi çağırın.

void GetObjectDescriptorData(
    LPPOINT lpOffset,
    LPSIZE lpSize,
    LPSTGMEDIUM lpStgMedium);

Parametreler

lpOffset
OLE öğesinin sol üst köşesinden fare tıklamasının uzaklığı. NULL olabilir.

lpSize
OLE öğesinin boyutu. NULL olabilir.

lpStgMedium
OLE öğesinin CF_OBJECTDESCRIPTOR verilerini alacak STGMEDIUM yapısının işaretçisi.

Açıklamalar

Bilgiler lpStgMedium tarafından işaret edilen yapıya STGMEDIUM kopyalanır. Bu biçim, Özel Yapıştır iletişim kutusu için gereken bilgileri içerir.

Daha fazla bilgi için bkz . Windows SDK'sında STGMEDIUM .

COleServerItem::Is Bağlan ed

OLE öğesinin bağlı olup olmadığını görmek için bu işlevi çağırın.

BOOL IsConnected() const;

İade Değeri

Öğe bağlıysa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Bir veya daha fazla kapsayıcının öğeye başvurusu varsa ole öğesi bağlı olarak kabul edilir. Bir öğe, başvuru sayısı 0'dan büyükse veya eklenmiş bir öğeyse bağlanır.

COleServerItem::IsLinkedItem

OLE öğesinin bağlı bir öğe olup olmadığını görmek için bu işlevi çağırın.

BOOL IsLinkedItem() const;

İade Değeri

Öğe bağlantılı bir öğeyse sıfır olmayan; aksi takdirde 0.

Açıklamalar

Öğe geçerliyse ve belgenin katıştırılmış öğeler listesinde döndürülmezse bir öğe bağlanır. Bağlantılı bir öğe bir kapsayıcıya bağlı olabilir veya olmayabilir.

Hem bağlı hem de eklenmiş öğeler için aynı sınıfın kullanılması yaygın bir durumdur. IsLinkedItem bağlı öğelerin katıştırılmış öğelerden farklı davranmasını sağlar, ancak kod birçok kez ortaktır.

COleServerItem::m_sizeExtent

Bu üye sunucuya kapsayıcı belgesinde nesnenin ne kadarının görünür olduğunu söyler.

CSize m_sizeExtent;

Açıklamalar

OnSetExtent'in varsayılan uygulaması bu üyeyi ayarlar.

COleServerItem::NotifyChanged

Bağlantılı öğe değiştirildikten sonra bu işlevi çağırın.

void NotifyChanged(DVASPECT nDrawAspect = DVASPECT_CONTENT);

Parametreler

nDrawAspect
DVASPECT numaralandırmasından OLE öğesinin hangi yönünün değiştiğini gösteren bir değer. Bu parametre aşağıdaki değerlerden herhangi birine sahip olabilir:

  • DVASPECT_CONTENT Öğesi, kapsayıcısında eklenmiş bir nesne olarak görüntülenebileceği şekilde temsil edilir.

  • DVASPECT_THUMBNAIL Öğe, gözatma aracında görüntülenebilmesi için "küçük resim" gösteriminde işlenir.

  • DVASPECT_ICON Öğesi bir simgeyle gösterilir.

  • DVASPECT_DOCPRINT Öğe, Dosya menüsündeki Yazdır komutu kullanılarak yazdırılmış gibi gösterilir.

Açıklamalar

Bir kapsayıcı öğesi belgeye otomatik bağlantıyla bağlıysa, öğe değişiklikleri yansıtacak şekilde güncelleştirilir. Microsoft Foundation Sınıf Kitaplığı kullanılarak yazılan kapsayıcı uygulamalarında COleClientItem ::OnChange yanıt olarak çağrılır.

COleServerItem::OnDoVerb

Belirtilen fiili yürütmek için çerçeve tarafından çağrılır.

virtual void OnDoVerb(LONG iVerb);

Parametreler

iVerb
Yürütülecek fiili belirtir. Aşağıdakilerden herhangi biri olabilir:

Değer Anlamı Simge
0 Birincil fiil OLEIVERB_PRIMARY
Kategori 1 İkincil fiil (Hiçbiri)
-1 Öğeyi düzenleme için görüntüle OLEIVERB_SHOW
-2 Öğeyi ayrı pencerede düzenleme OLEIVERB_OPEN
-3 Öğeyi gizle OLEIVERB_HIDE

-1 değeri genellikle başka bir fiilin diğer adıdır. Açık düzenleme desteklenmiyorsa- 2, -1 ile aynı etkiye sahiptir. Ek değerler için bkz . Windows SDK'sında IOleObject::D oVerb .

Açıklamalar

Kapsayıcı uygulaması Microsoft Foundation Sınıf Kitaplığı ile yazıldıysa, ilgili COleClientItem nesnenin COleClientItem::Activate üye işlevi çağrıldığında bu işlev çağrılır. Birincil fiil veya OLEIVERB_SHOW belirtilirse varsayılan uygulama OnShow üye işlevini, ikincil fiil veya OLEIVERB_OPEN belirtilirse OnOpen ve OLEIVERB_HIDE belirtilirse OnHide'yi çağırır. iVerb yukarıda listelenen fiillerden biri değilse, varsayılan uygulama çağırırOnShow.

Birincil fiilinizde öğe gösterilmiyorsa bu işlevi geçersiz kılın. Örneğin, öğe bir ses kaydıysa ve birincil fiili Oynat ise, öğeyi yürütmek için sunucu uygulamasını görüntülemeniz gerekmez.

Daha fazla bilgi için bkz . Windows SDK'sında IOleObject::D oVerb .

COleServerItem::OnDraw

OLE öğesini bir meta dosyaya işlemek için çerçeve tarafından çağrılır.

virtual BOOL OnDraw(
    CDC* pDC,
    CSize& rSize) = 0;

Parametreler

Pdc
Öğenin çizildiği CDC nesnesine yönelik bir işaretçi. Görüntüleme bağlamı öznitelik görüntüleme bağlamı ile otomatik olarak bağlantılıdır, bu nedenle öznitelik işlevlerini çağırabilirsiniz, ancak bunu yaptığınızda meta dosyası cihaza özgü olur.

rSize
Meta dosyasının çizileceği HIMETRIC birimlerinde boyut.

İade Değeri

Öğe başarıyla çizildiyse sıfır olmayan; aksi takdirde 0.

Açıklamalar

OLE öğesinin meta dosyası gösterimi, kapsayıcı uygulamasında öğeyi görüntülemek için kullanılır. Kapsayıcı uygulaması Microsoft Foundation Sınıf Kitaplığı ile yazılmışsa, meta dosyası ilgili COleClientItem nesnesinin Draw üye işlevi tarafından kullanılır. Varsayılan uygulama yoktur. Öğeyi belirtilen cihaz bağlamı içine çizmek için bu işlevi geçersiz kılmalısınız.

COleServerItem::OnDrawEx

Tüm çizimler için çerçeve tarafından çağrılır.

virtual BOOL OnDrawEx(
    CDC* pDC,
    DVASPECT nDrawAspect,
    CSize& rSize);

Parametreler

Pdc
Öğenin çizildiği CDC nesnesine yönelik bir işaretçi. DC öznitelik DC'sine otomatik olarak bağlanır, bu nedenle öznitelik işlevlerini çağırabilirsiniz, ancak bunu yaptığınızda meta dosyası cihaza özgü olur.

nDrawAspect
DVASPECT numaralandırmasından bir değer. Bu parametre aşağıdaki değerlerden herhangi birine sahip olabilir:

  • DVASPECT_CONTENT Öğesi, kapsayıcısında eklenmiş bir nesne olarak görüntülenebileceği şekilde temsil edilir.

  • DVASPECT_THUMBNAIL Öğe, gözatma aracında görüntülenebilmesi için "küçük resim" gösteriminde işlenir.

  • DVASPECT_ICON Öğesi bir simgeyle gösterilir.

  • DVASPECT_DOCPRINT Öğe, Dosya menüsündeki Yazdır komutu kullanılarak yazdırılmış gibi gösterilir.

rSize
Öğenin HIMETRIC birimlerindeki boyutu.

İade Değeri

Öğe başarıyla çizildiyse sıfır olmayan; aksi takdirde 0.

Açıklamalar

Varsayılan uygulama, DVASPECT DVASPECT_CONTENT eşit olduğunda çağırır OnDraw ; aksi takdirde başarısız olur.

DVASPECT_ICON veya DVASPECT_THUMBNAIL gibi DVASPECT_CONTENT dışındaki yönlerin sunu verilerini sağlamak için bu işlevi geçersiz kılın.

COleServerItem::OnGetClipboardData

CopyToClipboard üye işlevine yapılan bir COleDataSource çağrıyla Pano'ya yerleştirilecek tüm verileri içeren bir nesneyi almak için çerçeve tarafından çağrılır .

virtual COleDataSource* OnGetClipboardData(
    BOOL bIncludeLink,
    LPPOINT lpOffset,
    LPSIZE lpSize);

Parametreler

bIncludeLink
Bağlantı verilerinin Pano'ya kopyalanması gerekiyorsa bunu TRUE olarak ayarlayın. Sunucu uygulamanız bağlantıları desteklemiyorsa bunu YANLIŞ olarak ayarlayın.

lpOffset
Fare imlecinin nesnenin kaynağından piksel cinsinden uzaklığı.

lpSize
Nesnenin piksel cinsinden boyutu.

İade Değeri

Pano verilerini içeren COleDataSource nesnesine yönelik bir işaretçi.

Açıklamalar

Bu işlevin varsayılan uygulaması GetClipboardData'yi çağırır.

COleServerItem::OnGetExtent

OLE öğesinin boyutunu HIMETRIC birimlerinde almak için çerçeve tarafından çağrılır.

virtual BOOL OnGetExtent(
    DVASPECT nDrawAspect,
    CSize& rSize);

Parametreler

nDrawAspect
Sınırları alınacak OLE öğesinin yönünü belirtir. Bu parametre aşağıdaki değerlerden herhangi birine sahip olabilir:

  • DVASPECT_CONTENT Öğesi, kapsayıcısında eklenmiş bir nesne olarak görüntülenebileceği şekilde temsil edilir.

  • DVASPECT_THUMBNAIL Öğe, gözatma aracında görüntülenebilmesi için "küçük resim" gösteriminde işlenir.

  • DVASPECT_ICON Öğesi bir simgeyle gösterilir.

  • DVASPECT_DOCPRINT Öğe, Dosya menüsündeki Yazdır komutu kullanılarak yazdırılmış gibi gösterilir.

rSize
OLE öğesinin boyutunu alacak bir CSize nesneye başvuru.

İade Değeri

Başarılı olursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Kapsayıcı uygulaması Microsoft Foundation Sınıf Kitaplığı ile yazıldıysa, ilgili COleClientItem nesnenin GetExtent üye işlevi çağrıldığında bu işlev çağrılır. Varsayılan uygulama hiçbir şey yapmaz. Bunu kendiniz uygulamalısınız. OLE öğesinin boyutu için bir isteği işlerken özel işlem gerçekleştirmek istiyorsanız bu işlevi geçersiz kılın.

COleServerItem::OnHide

OLE öğesini gizlemek için çerçeve tarafından çağrılır.

virtual void OnHide();

Açıklamalar

Varsayılan olarak öğesini çağırır COleServerDoc::OnShowDocument( FALSE ). İşlev ayrıca kapsayıcıya OLE öğesinin gizlendiğini bildirir. Ole öğesini gizlerken özel işlem gerçekleştirmek istiyorsanız bu işlevi geçersiz kılın.

COleServerItem::OnInitFromData

pDataObject içeriğini kullanarak bir OLE öğesini başlatmak için çerçeve tarafından çağrılır.

virtual BOOL OnInitFromData(
    COleDataObject* pDataObject,
    BOOL bCreation);

Parametreler

pDataObject
OLE öğesini başlatmak için çeşitli biçimlerde veri içeren bir OLE veri nesnesi işaretçisi.

bCreation
bir kapsayıcı uygulaması tarafından yeni oluşturulan bir OLE öğesini başlatmak için işlev çağrılırsa TRUE. İşlev, zaten var olan bir OLE öğesinin içeriğini değiştirmek için çağrılırsa YANLIŞ.

İade Değeri

Başarılı olursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

bCreation TRUE ise, kapsayıcı geçerli seçimi temel alarak Yeni Nesne Ekle'yi uygularsa bu işlev çağrılır. Seçilen veriler yeni OLE öğesi oluşturulurken kullanılır. Örneğin, elektronik tablo programında bir hücre aralığı seçip Yeni Nesne Ekle'yi kullanarak seçili aralıktaki değerleri temel alan bir grafik oluştururken. Varsayılan uygulama hiçbir şey yapmaz. pDataObject tarafından sunulanlardan kabul edilebilir bir biçim seçmek ve sağlanan verilere göre OLE öğesini başlatmak için bu işlevi geçersiz kılın. Bu, gelişmiş bir geçersiz kılınabilir.

Daha fazla bilgi için bkz . Windows SDK'sında IOleObject::InitFromData .

COleServerItem::OnOpen

OLE öğesini yerinde değil, sunucu uygulamasının ayrı bir örneğinde görüntülemek için çerçeve tarafından çağrılır.

virtual void OnOpen();

Açıklamalar

Varsayılan uygulama, OLE öğesini içeren belgeyi görüntüleyen ilk çerçeve penceresini etkinleştirir; uygulama bir mini sunucuysa, varsayılan uygulama ana pencereyi gösterir. İşlev ayrıca ole öğesinin açıldığını kapsayıcıya bildirir.

Ole öğesini açarken özel işlem gerçekleştirmek istiyorsanız bu işlevi geçersiz kılın. Bu özellikle, açıldığında seçimi bağlantıya ayarlamak istediğiniz bağlı öğelerde yaygındır.

Daha fazla bilgi için bkz . Windows SDK'sında IOleClientSite::OnShowWindow .

COleServerItem::OnQueryUpdateItems

Geçerli sunucu belgesindeki bağlantılı öğelerin güncel olup olmadığını belirlemek için çerçeve tarafından çağrılır.

virtual BOOL OnQueryUpdateItems();

İade Değeri

Belgenin güncelleştirmeleri gereken öğeleri varsa sıfır olmayan; Tüm öğeler güncelse 0.

Açıklamalar

Kaynak belge değiştirildiyse ancak bağlantılı öğe belgedeki değişiklikleri yansıtacak şekilde güncelleştirilmediyse, öğe güncel değildir.

COleServerItem::OnRenderData

Belirtilen biçimdeki verileri almak için çerçeve tarafından çağrılır.

virtual BOOL OnRenderData(
    LPFORMATETC lpFormatEtc,
    LPSTGMEDIUM lpStgMedium);

Parametreler

lpFormatEtc
Bilgilerin istendiği biçimi belirten FORMATETC yapısına işaret eder.

lpStgMedium
Verilerin döndürülecek olduğu STGMEDIUM yapısını gösterir.

İade Değeri

Başarılı olursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Belirtilen biçim, gecikmeli işleme için DelayRenderData veya DelayRenderFileData üye işlevi kullanılarak nesneye önceden yerleştirilmiş COleDataSource bir biçimdir. Bu işlevin varsayılan uygulaması, sağlanan depolama ortamı bir dosya veya bellekse sırasıyla OnRenderFileData veya OnRenderGlobalData'yı çağırır. Bu biçimlerden hiçbiri sağlanmazsa, varsayılan uygulama 0 döndürür ve hiçbir şey yapmaz.

lpStgMedium-tymed> TYMED_NULL ise, STGMEDIUM lpFormatEtc-tymed> tarafından belirtilen şekilde ayrılıp doldurulmalıdır. TYMED_NULL değilse, STGMEDIUM yerine verilerle doldurulmalıdır.

Bu, gelişmiş bir geçersiz kılınabilir. Verilerinizi istenen biçimde ve ortamda sağlamak için bu işlevi geçersiz kılın. Verilerinize bağlı olarak, bunun yerine bu işlevin diğer sürümlerinden birini geçersiz kılmak isteyebilirsiniz. Verilerinizin boyutu küçükse ve sabitse, öğesini geçersiz kılın OnRenderGlobalData. Verileriniz bir dosyadaysa veya değişken boyuttaysa, öğesini geçersiz kılın OnRenderFileData.

Daha fazla bilgi için bkz . Windows SDK'sında IDataObject::GetData, STGMEDIUM, FORMATETC ve TYMED .

COleServerItem::OnRenderFileData

Depolama ortamı bir dosya olduğunda verileri belirtilen biçimde almak için çerçeve tarafından çağrılır.

virtual BOOL OnRenderFileData(
    LPFORMATETC lpFormatEtc,
    CFile* pFile);

Parametreler

lpFormatEtc
Bilgilerin istendiği biçimi belirten FORMATETC yapısına işaret eder.

pFile
Verilerin işlendiği nesneyi CFile gösterir.

İade Değeri

Başarılı olursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Belirtilen biçim, gecikmeli işleme için DelayRenderData üye işlevi kullanılarak nesneye önceden yerleştirilmiş COleDataSource bir biçimdir. Bu işlevin varsayılan uygulaması YALNıZCA YANLIŞ döndürür.

Bu, gelişmiş bir geçersiz kılınabilir. Verilerinizi istenen biçimde ve ortamda sağlamak için bu işlevi geçersiz kılın. Verilerinize bağlı olarak, bunun yerine bu işlevin diğer sürümlerinden birini geçersiz kılmak isteyebilirsiniz. Birden çok depolama ortamı işlemek istiyorsanız, OnRenderData'yı geçersiz kılın. Verileriniz bir dosyadaysa veya değişken boyuttaysa, OnRenderFileData'yı geçersiz kılın.

Daha fazla bilgi için bkz . Windows SDK'sında IDataObject::GetData ve FORMATETC .

COleServerItem::OnRenderGlobalData

Belirtilen depolama ortamı genel bellek olduğunda verileri belirtilen biçimde almak için çerçeve tarafından çağrılır.

virtual BOOL OnRenderGlobalData(
    LPFORMATETC lpFormatEtc,
    HGLOBAL* phGlobal);

Parametreler

lpFormatEtc
Bilgilerin istendiği biçimi belirten FORMATETC yapısına işaret eder.

phGlobal
Verilerin döndürülacağı genel belleğe ilişkin bir tanıtıcıyı gösterir. Bellek ayrılmamışsa, bu parametre NULL olabilir.

İade Değeri

Başarılı olursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Belirtilen biçim, gecikmeli işleme için DelayRenderData üye işlevi kullanılarak nesneye önceden yerleştirilmiş COleDataSource bir biçimdir. Bu işlevin varsayılan uygulaması YALNıZCA YANLIŞ döndürür.

phGlobal NULL ise, phGlobal içinde yeni bir HGLOBAL ayrılıp döndürülmelidir. Aksi takdirde, phGlobal tarafından belirtilen HGLOBAL verilerle doldurulmalıdır. HGLOBAL'a yerleştirilen veri miktarı bellek bloğunun geçerli boyutunu aşmamalıdır. Ayrıca, blok daha büyük bir boyuta taşınamaz.

Bu, gelişmiş bir geçersiz kılınabilir. Verilerinizi istenen biçimde ve ortamda sağlamak için bu işlevi geçersiz kılın. Verilerinize bağlı olarak, bunun yerine bu işlevin diğer sürümlerinden birini geçersiz kılmak isteyebilirsiniz. Birden çok depolama ortamı işlemek istiyorsanız, OnRenderData'yı geçersiz kılın. Verileriniz bir dosyadaysa veya değişken boyuttaysa, OnRenderFileData'yı geçersiz kılın.

Daha fazla bilgi için bkz . Windows SDK'sında IDataObject::GetData ve FORMATETC .

COleServerItem::OnSetColorScheme

OLE öğesini düzenlerken kullanılacak renk paletini belirtmek için çerçeve tarafından çağrılır.

virtual BOOL OnSetColorScheme(const LOGPALETTE* lpLogPalette);

Parametreler

lpLogPalette
Windows LOGPALETTE yapısının işaretçisi.

İade Değeri

Renk paleti kullanılıyorsa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Kapsayıcı uygulaması Microsoft Foundation Sınıf Kitaplığı kullanılarak yazıldıysa, ilgili COleClientItem nesnenin IOleObject::SetColorScheme işlevi çağrıldığında bu işlev çağrılır. Varsayılan uygulama FALSE döndürür. Önerilen paleti kullanmak istiyorsanız bu işlevi geçersiz kılın. Sunucu uygulamasının önerilen paleti kullanması gerekmez.

Daha fazla bilgi için bkz . Windows SDK'sında IOleObject::SetColorScheme .

COleServerItem::OnSetData

OLE öğesinin verilerini belirtilen verilerle değiştirmek için çerçeve tarafından çağrılır.

virtual BOOL OnSetData(
    LPFORMATETC lpFormatEtc,
    LPSTGMEDIUM lpStgMedium,
    BOOL bRelease);

Parametreler

lpFormatEtc
Verilerin biçimini belirten FORMATETC yapısının işaretçisi.

lpStgMedium
Verilerin bulunduğu STGMEDIUM yapısının işaretçisi.

bRelease
İşlev çağrısını tamamladıktan sonra depolama ortamı sahipliğini kimlerin olduğunu gösterir. Arayan, depolama ortamı adına ayrılan kaynakların serbest bırakılmasından kimin sorumlu olduğuna karar verir. Çağıran, bRelease ayarını yaparak bunu yapar. bRelease sıfır değilse, sunucu öğesi sahipliği alır ve kullanımı bittiğinde ortamı boşaltır. bRelease 0 olduğunda, çağıran sahipliği korur ve sunucu öğesi depolama medyasını yalnızca çağrı süresi boyunca kullanabilir.

İade Değeri

Başarılı olursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Sunucu öğesi, verileri başarıyla elde edene kadar verilerin sahipliğini almaz. Yani, 0 döndürürse sahipliği almaz. Veri kaynağı sahipliği alırsa ReleaseStgMedium işlevini çağırarak depolama medyasını serbest bırakır.

Varsayılan uygulama hiçbir şey yapmaz. OLE öğesinin verilerini belirtilen verilerle değiştirmek için bu işlevi geçersiz kılın. Bu, gelişmiş bir geçersiz kılınabilir.

Daha fazla bilgi için bkz . Windows SDK'sında STGMEDIUM, FORMATETC ve ReleaseStgMedium .

COleServerItem::OnSetExtent

Ole öğesine kapsayıcı belgesinde ne kadar boş alan olduğunu bildirmek için çerçeve tarafından çağrılır.

virtual BOOL OnSetExtent(
    DVASPECT nDrawAspect,
    const CSize& size);

Parametreler

nDrawAspect
Sınırları belirtilen OLE öğesinin yönünü belirtir. Bu parametre aşağıdaki değerlerden herhangi birine sahip olabilir:

  • DVASPECT_CONTENT Öğesi, kapsayıcısında eklenmiş bir nesne olarak görüntülenebileceği şekilde temsil edilir.

  • DVASPECT_THUMBNAIL Öğe, gözatma aracında görüntülenebilmesi için "küçük resim" gösteriminde işlenir.

  • DVASPECT_ICON Öğesi bir simgeyle gösterilir.

  • DVASPECT_DOCPRINT Öğe, Dosya menüsündeki Yazdır komutu kullanılarak yazdırılmış gibi gösterilir.

Boyutu
OLE öğesinin yeni boyutunu belirten bir CSize yapısı.

İade Değeri

Başarılı olursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Kapsayıcı uygulaması Microsoft Foundation Sınıf Kitaplığı ile yazılmışsa, ilgili COleClientItem nesnenin SetExtent üye işlevi çağrıldığında bu işlev çağrılır. Varsayılan uygulama, nDrawAspect DVASPECT_CONTENT ise m_sizeExtent üyeyi belirtilen boyuta ayarlar; aksi takdirde 0 döndürür. Öğenin boyutunu değiştirdiğinizde özel işlem gerçekleştirmek için bu işlevi geçersiz kılın.

COleServerItem::OnShow

Sunucu uygulamasına OLE öğesini yerinde görüntülemesini bildirmek için çerçeve tarafından çağrılır.

virtual void OnShow();

Açıklamalar

Bu işlev genellikle kapsayıcı uygulamasının kullanıcısı bir öğe oluşturduğunda veya öğenin gösterilmesini gerektiren Düzenle gibi bir fiil yürüttüğünde çağrılır. Varsayılan uygulama yerinde etkinleştirmeyi dener. Bu başarısız olursa işlev, OLE öğesini ayrı bir pencerede görüntülemek için üye işlevini çağırır OnOpen .

Bir OLE öğesi gösterildiğinde özel işlem gerçekleştirmek istiyorsanız bu işlevi geçersiz kılın.

COleServerItem::OnUpdate

Bir öğe değiştirildiğinde çerçeve tarafından çağrılır.

virtual void OnUpdate(
    COleServerItem* pSender,
    LPARAM lHint,
    CObject* pHint,
    DVASPECT nDrawAspect);

Parametreler

pSender
Belgeyi değiştiren öğenin işaretçisi. NULL olabilir.

Lhint
Değişiklik hakkında bilgi içerir.

pHint
Değişiklikle ilgili bilgileri depolayarak nesne işaretçisi.

nDrawAspect
DVASPECT numaralandırmasından bir değer. Bu parametre aşağıdaki değerlerden herhangi birine sahip olabilir:

  • DVASPECT_CONTENT Öğesi, kapsayıcısında eklenmiş bir nesne olarak görüntülenebileceği şekilde temsil edilir.

  • DVASPECT_THUMBNAIL Öğe, gözatma aracında görüntülenebilmesi için "küçük resim" gösteriminde işlenir.

  • DVASPECT_ICON Öğesi bir simgeyle gösterilir.

  • DVASPECT_DOCPRINT Öğe, Dosya menüsündeki Yazdır komutu kullanılarak yazdırılmış gibi gösterilir.

Açıklamalar

Varsayılan uygulama, ipucundan veya gönderenden bağımsız olarak NotifyChanged'i çağırır.

COleServerItem::OnUpdateItems

Sunucu belgesindeki tüm öğeleri güncelleştirmek için çerçeve tarafından çağrılır.

virtual void OnUpdateItems();

Açıklamalar

Varsayılan uygulama, belgedeki tüm COleClientItem nesneler için UpdateLink'i çağırır.

COleServerItem::SetItemName

Adını ayarlamak için bağlı bir öğe oluşturduğunuzda bu işlevi çağırabilirsiniz.

void SetItemName(LPCTSTR lpszItemName);

Parametreler

lpszItemName
Öğenin yeni adına işaret eden işaretçi.

Açıklamalar

Adın belge içinde benzersiz olması gerekir. Bağlı bir öğeyi düzenlemek için bir sunucu uygulaması çağrıldığında, uygulama öğeyi bulmak için bu adı kullanır. Katıştırılmış öğeler için bu işlevi çağırmanız gerekmez.

Ayrıca bkz.

MFC Örnek HIERSVR
CDocItem Sınıfı
Hiyerarşi Grafiği
COleClientItem Sınıfı
COleServerDoc Sınıfı
COleTemplateServer Sınıfı