COleClientItem Sınıfı
OLE öğelerine kapsayıcı arabirimini tanımlar.
class COleClientItem : public CDocItem
Veri Akışı Adı | Açıklama |
---|---|
COleClientItem::COleClientItem | Bir COleClientItem nesne oluşturur. |
Veri Akışı Adı | Açıklama |
---|---|
COleClientItem::Activate | Bir işlem için OLE öğesini açar ve belirtilen fiili yürütür. |
COleClientItem::ActivateAs | Öğeyi başka bir tür olarak etkinleştirir. |
COleClientItem::AttachDataObject | OLE nesnesindeki verilere erişir. |
COleClientItem::CanCreateFromData | Kapsayıcı uygulamasının katıştırılmış nesne oluşturup oluşturamayacağını gösterir. |
COleClientItem::CanCreateLinkFromData | Kapsayıcı uygulamasının bağlı nesne oluşturup oluşturamayacağını gösterir. |
COleClientItem::CanPaste | Pano'da eklenebilir veya statik bir OLE öğesi olup olmadığını gösterir. |
COleClientItem::CanPasteLink | Pano'da bağlanabilir ole öğesi olup olmadığını gösterir. |
COleClientItem::Close | Sunucu bağlantısını kapatır ancak OLE öğesini yok etmez. |
COleClientItem::ConvertTo | Öğeyi başka bir türe dönüştürür. |
COleClientItem::CopyToClipboard | OLE öğesini Pano'ya kopyalar. |
COleClientItem::CreateCloneFrom | Varolan bir öğenin kopyasını oluşturur. |
COleClientItem::CreateFromClipboard | Pano'dan eklenmiş bir öğe oluşturur. |
COleClientItem::CreateFromData | Veri nesnesinden eklenmiş bir öğe oluşturur. |
COleClientItem::CreateFromFile | Bir dosyadan eklenmiş bir öğe oluşturur. |
COleClientItem::CreateLinkFromClipboard | Pano'dan bağlantılı bir öğe oluşturur. |
COleClientItem::CreateLinkFromData | Veri nesnesinden bağlantılı bir öğe oluşturur. |
COleClientItem::CreateLinkFromFile | Bir dosyadan bağlantılı öğe oluşturur. |
COleClientItem::CreateNewItem | Sunucu uygulamasını başlatarak yeni bir eklenmiş öğe oluşturur. |
COleClientItem::CreateStaticFromClipboard | Pano'dan statik bir öğe oluşturur. |
COleClientItem::CreateStaticFromData | Veri nesnesinden statik bir öğe oluşturur. |
COleClientItem::D eactivate | Öğeyi devre dışı bırakır. |
COleClientItem::D eactivateUI | Kapsayıcı uygulamasının kullanıcı arabirimini özgün durumuna geri yükler. |
COleClientItem::D elete | Bağlı öğeyse OLE öğesini siler veya kapatır. |
COleClientItem::D oDragDrop | Sürükle ve bırak işlemi gerçekleştirir. |
COleClientItem::D oVerb | Belirtilen fiili yürütür. |
COleClientItem::D raw | OLE öğesini çizer. |
COleClientItem::GetActiveView | Öğenin etkinleştirildiği görünümü alır. |
COleClientItem::GetCachedExtent | OLE öğesinin dikdörtgeninin sınırlarını döndürür. |
COleClientItem::GetClassID | Mevcut öğenin sınıf kimliğini alır. |
COleClientItem::GetClipboardData | Üye işlevini çağırarak CopyToClipboard Pano'ya yerleştirilecek verileri alır. |
COleClientItem::GetDocument | Mevcut öğeyi COleDocument içeren nesneyi döndürür. |
COleClientItem::GetDrawAspect | Öğenin işleme için geçerli görünümünü alır. |
COleClientItem::GetExtent | OLE öğesinin dikdörtgeninin sınırlarını döndürür. |
COleClientItem::GetIconFromRegistry | Belirli bir CLSID sunucusuyla ilişkilendirilmiş bir simgeye tanıtıcı alır. |
COleClientItem::GetIconicMetafile | Öğenin simgesini çizmek için kullanılan meta dosyasını alır. |
COleClientItem::GetInPlaceWindow | Öğenin yerinde düzenleme penceresine bir işaretçi döndürür. |
COleClientItem::GetItemState | Öğenin geçerli durumunu alır. |
COleClientItem::GetLastStatus | Son OLE işleminin durumunu döndürür. |
COleClientItem::GetLinkUpdateOptions | Bağlı öğe (gelişmiş özellik) için güncelleştirme modunu döndürür. |
COleClientItem::GetType | OLE öğesinin türünü (eklenmiş, bağlı veya statik) döndürür. |
COleClientItem::GetUserType | Öğenin türünü açıklayan bir dize alır. |
COleClientItem::IsInPlaceActive | Öğe yerinde etkinse TRUE döndürür. |
COleClientItem::IsLinkUpToDate | Bağlantılı bir öğe kaynak belgeyle güncelse TRUE döndürür. |
COleClientItem::IsModified | Öğe en son kaydedildikten sonra değiştirilmişse TRUE döndürür. |
COleClientItem::IsOpen | Öğe şu anda sunucu uygulamasında açıksa TRUE döndürür. |
COleClientItem::IsRunning | Öğenin sunucu uygulaması çalışıyorsa TRUE döndürür. |
COleClientItem::OnActivate | Öğeye etkinleştirildiğini bildirmek için çerçeve tarafından çağrılır. |
COleClientItem::OnActivateUI | Öğeye etkinleştirildiğini ve kullanıcı arabirimini göstermesi gerektiğini bildirmek için çerçeve tarafından çağrılır. |
COleClientItem::OnChange | Sunucu OLE öğesini değiştirdiğinde çağrılır. Uygulama gerekli. |
COleClientItem::OnDeactivate | Bir öğe devre dışı bırakıldığında çerçeve tarafından çağrılır. |
COleClientItem::OnDeactivateUI | Sunucu yerinde kullanıcı arabirimini kaldırdığında çerçeve tarafından çağrılır. |
COleClientItem::OnGetClipboardData | Pano'ya kopyalanacak verileri almak için çerçeve tarafından çağrılır. |
COleClientItem::OnInsertMenus | Bileşik menü oluşturmak için çerçeve tarafından çağrılır. |
COleClientItem::OnRemoveMenus | Kapsayıcının menülerini bileşik menüden kaldırmak için çerçeve tarafından çağrılır. |
COleClientItem::OnSetMenu | Bileşik menüyü yüklemek ve kaldırmak için çerçeve tarafından çağrılır. |
COleClientItem::OnShowControlBars | Denetim çubuklarını göstermek ve gizlemek için çerçeve tarafından çağrılır. |
COleClientItem::OnUpdateFrameTitle | Çerçeve penceresinin başlık çubuğunu güncelleştirmek için çerçeve tarafından çağrılır. |
COleClientItem::ReactivateAndUndo | Öğeyi yeniden etkinleştirir ve son yerinde düzenleme işlemini geri alır. |
COleClientItem::Release | OLE bağlantılı bir öğeye bağlantıyı serbest bırakır ve açıksa kapatır. İstemci öğesini yok etmez. |
COleClientItem::Reload | çağrısından sonra öğeyi ActivateAs yeniden yükler. |
COleClientItem::Run | Öğeyle ilişkili uygulamayı çalıştırır. |
COleClientItem::SetDrawAspect | İşleme için öğenin geçerli görünümünü ayarlar. |
COleClientItem::SetExtent | OLE öğesinin sınırlayıcı dikdörtgenini ayarlar. |
COleClientItem::SetHostNames | OLE öğesini düzenlerken sunucunun görüntülediği adları ayarlar. |
COleClientItem::SetIconicMetafile | Öğenin simgesini çizmek için kullanılan meta dosyasını önbelleğe alır. |
COleClientItem::SetItemRects | Öğenin sınırlayıcı dikdörtgenini ayarlar. |
COleClientItem::SetLinkUpdateOptions | Bağlı bir öğe (gelişmiş özellik) için güncelleştirme modunu ayarlar. |
COleClientItem::SetPrintDevice | Bu istemci öğesi için yazdırma hedefi cihazını ayarlar. |
COleClientItem::UpdateLink | Bir öğenin sunu önbelleğini güncelleştirir. |
Veri Akışı Adı | Açıklama |
---|---|
COleClientItem::CanActivate | Yerinde etkinleştirmeye izin verilip verilmeyeceğini belirlemek için çerçeve tarafından çağrılır. |
COleClientItem::OnChangeItemPosition | Bir öğenin konumu değiştiğinde çerçeve tarafından çağrılır. |
COleClientItem::OnDeactivateAndUndo | Etkinleştirmeden sonra geri almak için çerçeve tarafından çağrılır. |
COleClientItem::OnDiscardUndoState | Öğenin geri alma durumu bilgilerini atmak için çerçeve tarafından çağrılır. |
COleClientItem::OnGetClipRect | Öğenin kırpma-dikdörtgen koordinatlarını almak için çerçeve tarafından çağrılır. |
COleClientItem::OnGetItemPosition | Öğenin görünüme göre konumunu almak için çerçeve tarafından çağrılır. |
COleClientItem::OnGetWindowContext | Bir öğe etkin olduğunda çerçeve tarafından çağrılır. |
COleClientItem::OnScrollBy | Öğeyi görünüme kaydırmak için çerçeve tarafından çağrılır. |
COleClientItem::OnShowItem | OLE öğesini görüntülemek için çerçeve tarafından çağrılır. |
OLE öğesi, bir sunucu uygulaması tarafından oluşturulan ve bakımı yapılan verileri temsil eder. Bu veriler, kullanıcıya tek bir belge gibi görünmesi için belgeye "sorunsuzca" dahil edilebilir. Sonuç, OLE öğesinden ve içeren bir belgeden oluşan bir "bileşik belge"dir.
Ole öğesi katıştırılabilir veya bağlanabilir. Eklenmişse, verileri bileşik belgenin bir parçası olarak depolanır. Bağlıysa, verileri sunucu uygulaması tarafından oluşturulan ayrı bir dosyanın parçası olarak depolanır ve bileşik belgede yalnızca bu dosyaya yönelik bir bağlantı depolanır. Tüm OLE öğeleri, bunları düzenlemek için çağrılması gereken sunucu uygulamasını belirten bilgiler içerir.
COleClientItem
sunucu uygulamasından gelen isteklere yanıt olarak çağrılan birkaç geçersiz kılınabilir işlev tanımlar; bu geçersiz kılınabilir öğeler genellikle bildirim görevi görür. Bu, sunucu uygulamasının ole öğesini düzenlerken kullanıcının yaptığı değişiklikleri kapsayıcıya bildirmesine veya düzenleme sırasında gereken bilgileri almasına olanak tanır.
COleClientItem
COleDocument, COleLinkingDoc veya COleServerDoc sınıfıyla kullanılabilir. kullanmak COleClientItem
için, öğesinden bir sınıf türetin ve kapsayıcının öğede yapılan değişikliklere nasıl yanıt verdiğini tanımlayan OnChange üye işlevini uygulayın. Yerinde etkinleştirmeyi desteklemek için OnGetItemPosition üye işlevini geçersiz kılın. Bu işlev, OLE öğesinin görüntülenen konumu hakkında bilgi sağlar.
Kapsayıcı arabirimini kullanma hakkında daha fazla bilgi için Kapsayıcılar: Kapsayıcı Uygulama ve Etkinleştirme makalelerine bakın.
Not
Windows SDK'sı, katıştırılmış ve bağlı öğeleri "nesneler" olarak, öğe türlerini ise "sınıflar" olarak ifade eder. Bu başvuru, OLE varlığını karşılık gelen C++ nesnesinden ayırmak için "item" terimini ve OLE kategorisini C++ sınıfından ayırmak için "type" terimini kullanır.
COleClientItem
Üst bilgi: afxole.h
Bir özel durum oluştuğunda kendi işleminizi gerçekleştirebilmeniz için DoVerb yerine belirtilen fiili yürütmek için bu işlevi çağırın.
void Activate(
LONG nVerb,
CView* pView,
LPMSG lpMsg = NULL);
nVerb
Yürütülecek fiili belirtir. Şunlardan biri olabilir:
Değer | Anlamı | Simge |
---|---|---|
0- | Birincil fiil | OLEIVERB_PRIMARY |
-1 | İkincil fiil | (Yok) |
-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 .
pView
OLE öğesini içeren kapsayıcı görünümü penceresinin işaretçisi; bu, sunucu uygulaması tarafından yerinde etkinleştirme için kullanılır. Kapsayıcı yerinde etkinleştirmeyi desteklemiyorsa bu parametre NULL olmalıdır.
lpMsg
Öğenin etkinleştirilmesine neden olan ileti işaretçisi.
Sunucu uygulaması Microsoft Foundation Sınıf Kitaplığı kullanılarak yazıldıysa, bu işlev ilgili COleServerItem
nesnenin OnDoVerb üye işlevinin yürütülmesine neden olur.
Birincil fiil Düzenle ise ve nVerb parametresinde sıfır belirtilirse, OLE öğesinin düzenlenmesine izin vermek için sunucu uygulaması başlatılır. Kapsayıcı uygulaması yerinde etkinleştirmeyi destekliyorsa düzenleme yerinde yapılabilir. Kapsayıcı yerinde etkinleştirmeyi desteklemiyorsa (veya Aç fiili belirtilmişse), sunucu ayrı bir pencerede başlatılır ve düzenleme orada yapılabilir. Genellikle, kapsayıcı uygulamasının kullanıcısı OLE öğesine çift tıkladığında, nVerb parametresindeki birincil fiilin değeri kullanıcının hangi eylemi gerçekleştirebileceğini belirler. Ancak, sunucu yalnızca bir eylemi destekliyorsa, nVerb parametresinde hangi değerin belirtildiğine bakılmaksızın bu eylemi uygular.
Daha fazla bilgi için bkz . Windows SDK'sında IOleObject::D oVerb .
Öğeyi clsidNew tarafından belirtilen türde bir öğeymiş gibi etkinleştirmek için OLE'nin nesne dönüştürme olanaklarını kullanır.
virtual BOOL ActivateAs(
LPCTSTR lpszUserType,
REFCLSID clsidOld,
REFCLSID clsidNew);
lpszUserType
"Word Belgesi" gibi hedef kullanıcı türünü temsil eden bir dizenin işaretçisi.
clsidOld
Öğenin geçerli sınıf kimliğine başvuru. Sınıf kimliği, bir bağlantı olmadığı sürece, depolandığı gibi gerçek nesnenin türünü temsil etmelidir. Bu durumda, bağlantının başvurduğu öğenin CLSID'i olmalıdır. COleConvertDialog otomatik olarak öğe için doğru sınıf kimliğini sağlar.
clsidNew
Hedef sınıf kimliğine başvuru.
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Bu, COleConvertDialog::D oConvert tarafından otomatik olarak çağrılır. Genellikle doğrudan çağrılmaz.
OLE öğesindeki verilere erişmek üzere bir COleDataObject başlatmak için bu işlevi çağırın.
void AttachDataObject(COleDataObject& rDataObject) const;
rDataObject
OLE öğesindeki verilere erişime izin vermek için başlatılacak bir COleDataObject
nesneye başvuru.
Kullanıcı OLE öğesinin yerinde etkinleştirilmesini istediğinde çerçeve tarafından çağrılır; bu işlevin dönüş değeri yerinde etkinleştirmeye izin verilip verilmeyeceğini belirler.
virtual BOOL CanActivate();
Yerinde etkinleştirmeye izin veriliyorsa sıfır olmayan; aksi takdirde 0.
Kapsayıcının geçerli bir penceresi varsa varsayılan uygulama yerinde etkinleştirmeye izin verir. Etkinleştirme isteğini kabul etmek veya reddetmek için özel mantık uygulamak için bu işlevi geçersiz kılın. Örneğin, OLE öğesi çok küçükse veya şu anda görünmüyorsa etkinleştirme isteği reddedilebilir.
Daha fazla bilgi için bkz . Windows SDK'sında IOleInPlaceSite::CanInPlaceActivate .
Bir kapsayıcı uygulamasının verilen COleDataObject
nesneden katıştırılmış nesne oluşturup oluşturamayacağını denetler.
static BOOL PASCAL CanCreateFromData(const COleDataObject* pDataObject);
pDataObject
OLE öğesinin oluşturulacağı COleDataObject nesnesinin işaretçisi.
Kapsayıcı nesneden COleDataObject
katıştırılmış nesne oluşturabiliyorsa sıfır olmayan; aksi takdirde 0.
sınıfı COleDataObject
, Pano'dan, sürükleyip bırakma yoluyla veya eklenmiş bir OLE öğesinden çeşitli biçimlerde veri almak için veri aktarımlarında kullanılır.
Kapsayıcılar, Yapıştırmayı Düzenle ve Özel Yapıştırmayı Düzenle komutlarını etkinleştirmeye veya devre dışı bırakmaya karar vermek için bu işlevi kullanabilir.
Daha fazla bilgi için Veri Nesneleri ve Veri Kaynakları (OLE) makalesine bakın.
Bir kapsayıcı uygulamasının verilen COleDataObject
nesneden bağlantılı nesne oluşturup oluşturamayacağını denetler.
static BOOL PASCAL CanCreateLinkFromData(const COleDataObject* pDataObject);
pDataObject
OLE öğesinin oluşturulacağı COleDataObject nesnesinin işaretçisi.
Kapsayıcı nesneden COleDataObject
bağlı bir nesne oluşturabiliyorsa sıfır olmayan.
sınıfı COleDataObject
, Pano'dan, sürükleyip bırakma yoluyla veya eklenmiş bir OLE öğesinden çeşitli biçimlerde veri almak için veri aktarımlarında kullanılır.
Kapsayıcılar, Özel Yapıştır düzenle ve Yapıştırma Bağlantısını Düzenle komutlarını etkinleştirmeye veya devre dışı bırakmaya karar vermek için bu işlevi kullanabilir.
Daha fazla bilgi için Veri Nesneleri ve Veri Kaynakları (OLE) makalesine bakın.
Eklenmiş bir OLE öğesinin Pano'dan yapıştırılıp yapıştırılamayacağını görmek için bu işlevi çağırın.
static BOOL PASCAL CanPaste();
Pano'dan eklenmiş bir OLE öğesi yapıştırılabilirse sıfır olmayan; aksi takdirde 0.
Daha fazla bilgi için bkz . Windows SDK'sında OleGetClipboard ve OleQueryCreateFromData .
Bağlantılı bir OLE öğesinin Pano'dan yapıştırılıp yapıştırılamayacağını görmek için bu işlevi çağırın.
static BOOL PASCAL CanPasteLink();
Pano'dan bağlı bir OLE öğesi yapıştırılabilirse sıfır olmayan; aksi takdirde 0.
Daha fazla bilgi için bkz . Windows SDK'sında OleGetClipboard ve OleQueryLinkFromData .
Bir OLE öğesinin durumunu çalışan durumdan yüklenen duruma, yani işleyicisi bellekte yüklü ancak sunucu çalışmadığından değiştirmek için bu işlevi çağırın.
void Close(OLECLOSE dwCloseOption = OLECLOSE_SAVEIFDIRTY);
dwCloseOption
Ole öğesinin yüklenen duruma geri döndüğünde hangi koşullarda kaydedileceğini belirten bayrak. Aşağıdaki değerlerden birine sahip olabilir:
OLECLOSE_SAVEIFDIRTY OLE öğesini kaydedin.
OLECLOSE_NOSAVE OLE öğesini kaydetmeyin.
OLECLOSE_PROMPTSAVE Kullanıcıya OLE öğesinin kaydedilip kaydedilmeyeceğini sorabilirsiniz.
OLE öğesi çalışmadığında bu işlevin hiçbir etkisi olmaz.
Daha fazla bilgi için bkz . Windows SDK'sında IOleObject::Close .
Bir COleClientItem
nesne oluşturur ve kapsayıcı belgenin belge öğeleri koleksiyonuna ekler. Bu koleksiyon yalnızca C++ nesnesini oluşturur ve ole başlatma gerçekleştirmez.
COleClientItem(COleDocument* pContainerDoc = NULL);
pContainerDoc
Bu öğeyi içerecek kapsayıcı belgesinin işaretçisi. Bu herhangi bir COleDocument türevi olabilir.
NULL işaretçisi geçirirseniz, kapsayıcı belgesine hiçbir ekleme yapılmaz. COleDocument::AddItem öğesini açıkça çağırmalısınız.
OLE öğesini kullanmadan önce aşağıdaki oluşturma üyesi işlevlerinden birini çağırmanız gerekir:
Öğeyi clsidNew tarafından belirtilen türe dönüştürmek için bu üye işlevini çağırın.
virtual BOOL ConvertTo(REFCLSID clsidNew);
clsidNew
Hedef türün sınıf kimliği.
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Bu, COleConvertDialog tarafından otomatik olarak çağrılır. Doğrudan çağırmak gerekli değildir.
OLE öğesini Pano'ya kopyalamak için bu işlevi çağırın.
void CopyToClipboard(BOOL bIncludeLink = FALSE);
bIncludeLink
Bağlantı bilgilerinin Pano'ya kopyalanması gerekiyorsa, bağlı öğenin yapıştırılması için TRUE; aksi takdirde YANLIŞ.
Normalde, Düzenle menüsünden Kopyala veya Kes komutları için ileti işleyicileri yazarken bu işlevi çağırırsınız. Kopyala veya Kes komutlarını uygulamak istiyorsanız kapsayıcı uygulamanızda öğe seçimini uygulamanız gerekir.
Daha fazla bilgi için bkz . Windows SDK'sında OleSetClipboard .
Belirtilen OLE öğesinin bir kopyasını oluşturmak için bu işlevi çağırın.
BOOL CreateCloneFrom(const COleClientItem* pSrcItem);
pSrcItem
Çoğaltılacak OLE öğesinin işaretçisi.
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Kopya, kaynak öğeyle aynıdır. Geri alma işlemlerini desteklemek için bu işlevi kullanabilirsiniz.
Pano'nun içeriğinden eklenmiş bir öğe oluşturmak için bu işlevi çağırın.
BOOL CreateFromClipboard(
OLERENDER render = OLERENDER_DRAW,
CLIPFORMAT cfFormat = 0,
LPFORMATETC lpFormatEtc = NULL);
Render
Sunucunun OLE öğesini nasıl işleyeceklerini belirten bayrak. Olası değerler için bkz . Windows SDK'sında OLERENDER .
cfFormat
OLE öğesi oluşturulurken önbelleğe alınacak Pano veri biçimini belirtir.
lpFormatEtc
İşleme OLERENDER_FORMAT veya OLERENDER_DRAW ise kullanılan bir FORMATETC yapısının işaretçisi. Bu parametre için yalnızca cfFormat tarafından belirtilen Pano biçiminin ötesinde ek biçim bilgileri belirtmek istiyorsanız bir değer sağlayın. Bu parametreyi atlarsanız, yapıdaki FORMATETC
diğer alanlar için varsayılan değerler kullanılır.
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Bu işlevi genellikle Düzenle menüsündeki Yapıştır komutunun ileti işleyicisinden çağırırsınız. (Yapıştır komutu, CanPaste üye işlevi sıfır olmayan bir değer döndürür.)
Daha fazla bilgi için bkz . Windows SDK'sında OLERENDER ve FORMATETC .
Bir nesneden COleDataObject
katıştırılmış öğe oluşturmak için bu işlevi çağır.
BOOL CreateFromData(
COleDataObject* pDataObject,
OLERENDER render = OLERENDER_DRAW,
CLIPFORMAT cfFormat = 0,
LPFORMATETC lpFormatEtc = NULL);
pDataObject
OLE öğesinin oluşturulacağı COleDataObject nesnesinin işaretçisi.
Render
Sunucunun OLE öğesini nasıl işleyeceklerini belirten bayrak. Olası değerler için bkz . Windows SDK'sında OLERENDER .
cfFormat
OLE öğesi oluşturulurken önbelleğe alınacak Pano veri biçimini belirtir.
lpFormatEtc
İşleme OLERENDER_FORMAT veya OLERENDER_DRAW ise kullanılan bir FORMATETC yapısının işaretçisi. Bu parametre için yalnızca cfFormat tarafından belirtilen Pano biçiminin ötesinde ek biçim bilgileri belirtmek istiyorsanız bir değer sağlayın. Bu parametreyi atlarsanız, yapıdaki FORMATETC
diğer alanlar için varsayılan değerler kullanılır.
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Panodan yapıştırma veya sürükleyip bırakma işlemleri gibi veri aktarımı işlemleri, bir sunucu uygulaması tarafından sunulan bilgileri içeren nesneler sağlar COleDataObject
. Genellikle CView::OnDrop geçersiz kılma işleminizde kullanılır.
Daha fazla bilgi için bkz . Windows SDK'sında OleCreateFromData, OLERENDER ve FORMATETC .
Bir dosyadan katıştırılmış OLE öğesi oluşturmak için bu işlevi çağır.
BOOL CreateFromFile(
LPCTSTR lpszFileName,
REFCLSID clsid = CLSID_NULL,
OLERENDER render = OLERENDER_DRAW,
CLIPFORMAT cfFormat = 0,
LPFORMATETC lpFormatEtc = NULL);
lpszFileName
OLE öğesinin oluşturulacağı dosyanın adına işaret eden işaretçi.
clsid
Daha sonraki kullanımlar için ayrılmıştır.
Render
Sunucunun OLE öğesini nasıl işleyeceklerini belirten bayrak. Olası değerler için bkz . Windows SDK'sında OLERENDER .
cfFormat
OLE öğesi oluşturulurken önbelleğe alınacak Pano veri biçimini belirtir.
lpFormatEtc
İşleme OLERENDER_FORMAT veya OLERENDER_DRAW ise kullanılan bir FORMATETC yapısının işaretçisi. Bu parametre için yalnızca cfFormat tarafından belirtilen Pano biçiminin ötesinde ek biçim bilgileri belirtmek istiyorsanız bir değer sağlayın. Bu parametreyi atlarsanız, yapıdaki FORMATETC
diğer alanlar için varsayılan değerler kullanılır.
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Kullanıcı Dosyadan Oluştur düğmesi seçildiğinde Nesne Ekle iletişim kutusundan Tamam'ı seçerse, çerçeve COleInsertDialog::CreateItem'dan bu işlevi çağırır.
Daha fazla bilgi için bkz . Windows SDK'sında OleCreateFromFile, OLERENDER ve FORMATETC .
Pano'nun içeriğinden bağlantılı bir öğe oluşturmak için bu işlevi çağırın.
BOOL CreateLinkFromClipboard(
OLERENDER render = OLERENDER_DRAW,
CLIPFORMAT cfFormat = 0,
LPFORMATETC lpFormatEtc = NULL);
Render
Sunucunun OLE öğesini nasıl işleyeceklerini belirten bayrak. Olası değerler için bkz . Windows SDK'sında OLERENDER .
cfFormat
OLE öğesi oluşturulurken önbelleğe alınacak Pano veri biçimini belirtir.
lpFormatEtc
İşleme OLERENDER_FORMAT veya OLERENDER_DRAW ise kullanılan bir FORMATETC yapısının işaretçisi. Bu parametre için yalnızca cfFormat tarafından belirtilen Pano biçiminin ötesinde ek biçim bilgileri belirtmek istiyorsanız bir değer sağlayın. Bu parametreyi atlarsanız, yapıdaki FORMATETC
diğer alanlar için varsayılan değerler kullanılır.
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Bu işlevi genellikle Düzenle menüsündeki Bağlantıyı Yapıştır komutu için ileti işleyicisinden çağırırsınız. (Bağlantıyı Yapıştır komutu varsayılan uygulamasında etkindir: Panoda bağlanabilecek bir OLE öğesi varsa COleDocument .)
Daha fazla bilgi için bkz . Windows SDK'sında OLERENDER ve FORMATETC .
Bir nesneden COleDataObject
bağlantılı öğe oluşturmak için bu işlevi çağır.
BOOL CreateLinkFromData(
COleDataObject* pDataObject,
OLERENDER render = OLERENDER_DRAW,
CLIPFORMAT cfFormat = 0,
LPFORMATETC lpFormatEtc = NULL);
pDataObject
OLE öğesinin oluşturulacağı COleDataObject nesnesinin işaretçisi.
Render
Sunucunun OLE öğesini nasıl işleyeceklerini belirten bayrak. Olası değerler için bkz . Windows SDK'sında OLERENDER .
cfFormat
OLE öğesi oluşturulurken önbelleğe alınacak Pano veri biçimini belirtir.
lpFormatEtc
İşleme OLERENDER_FORMAT veya OLERENDER_DRAW ise kullanılan bir FORMATETC yapısının işaretçisi. Bu parametre için yalnızca cfFormat tarafından belirtilen Pano biçiminin ötesinde ek biçim bilgileri belirtmek istiyorsanız bir değer sağlayın. Bu parametreyi atlarsanız, yapıdaki FORMATETC
diğer alanlar için varsayılan değerler kullanılır.
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Kullanıcı bir bağlantı oluşturulması gerektiğini belirttiğinde bırakma işlemi sırasında bunu çağırın. Yapıştırmayı Düzenle komutunu işlemek için de kullanılabilir. Bağlantı seçeneği belirlendiğinde COlePasteSpecialDialog::CreateItem içindeki ve içindeki çerçeve COleClientItem::CreateLinkFromClipboard
tarafından çağrılır.
Daha fazla bilgi için bkz . Windows SDK'sında OleCreateLinkFromData, OLERENDER ve FORMATETC .
Bir dosyadan bağlı OLE öğesi oluşturmak için bu işlevi çağır.
BOOL CreateLinkFromFile(
LPCTSTR lpszFileName,
OLERENDER render = OLERENDER_DRAW,
CLIPFORMAT cfFormat = 0,
LPFORMATETC lpFormatEtc = NULL);
lpszFileName
OLE öğesinin oluşturulacağı dosyanın adına işaret eden işaretçi.
Render
Sunucunun OLE öğesini nasıl işleyeceklerini belirten bayrak. Olası değerler için bkz . Windows SDK'sında OLERENDER .
cfFormat
OLE öğesi oluşturulurken önbelleğe alınacak Pano veri biçimini belirtir.
lpFormatEtc
İşleme OLERENDER_FORMAT veya OLERENDER_DRAW ise kullanılan bir FORMATETC yapısının işaretçisi. Bu parametre için yalnızca cfFormat tarafından belirtilen Pano biçiminin ötesinde ek biçim bilgileri belirtmek istiyorsanız bir değer sağlayın. Bu parametreyi atlarsanız, yapıdaki FORMATETC
diğer alanlar için varsayılan değerler kullanılır.
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Dosyadan Oluştur düğmesi seçiliyken ve Bağlantı onay kutusu işaretliyken kullanıcı Nesne Ekle iletişim kutusundan Tamam'ı seçerse çerçeve bu işlevi çağırır. COleInsertDialog::CreateItem öğesinden çağrılır.
Daha fazla bilgi için bkz . Windows SDK'sında OleCreateLinkToFile, OLERENDER ve FORMATETC .
Katıştırılmış öğe oluşturmak için bu işlevi çağır; bu işlev, kullanıcının OLE öğesini oluşturmasına izin veren sunucu uygulamasını başlatır.
BOOL CreateNewItem(
REFCLSID clsid,
OLERENDER render = OLERENDER_DRAW,
CLIPFORMAT cfFormat = 0,
LPFORMATETC lpFormatEtc = NULL);
clsid
Oluşturulacak OLE öğesinin türünü benzersiz olarak tanımlayan kimlik.
Render
Sunucunun OLE öğesini nasıl işleyeceklerini belirten bayrak. Olası değerler için bkz . Windows SDK'sında OLERENDER .
cfFormat
OLE öğesi oluşturulurken önbelleğe alınacak Pano veri biçimini belirtir.
lpFormatEtc
İşleme OLERENDER_FORMAT veya OLERENDER_DRAW ise kullanılan bir FORMATETC yapısının işaretçisi. Bu parametre için yalnızca cfFormat tarafından belirtilen Pano biçiminin ötesinde ek biçim bilgileri belirtmek istiyorsanız bir değer sağlayın. Bu parametreyi atlarsanız, yapıdaki FORMATETC
diğer alanlar için varsayılan değerler kullanılır.
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Yeni Oluştur düğmesi seçildiğinde kullanıcı Nesne Ekle iletişim kutusundan Tamam'ı seçerse çerçeve bu işlevi çağırır.
Daha fazla bilgi için bkz . Windows SDK'sında OleCreate, OLERENDER ve FORMATETC .
Pano'nun içeriğinden statik bir öğe oluşturmak için bu işlevi çağırın.
BOOL CreateStaticFromClipboard(
OLERENDER render = OLERENDER_DRAW,
CLIPFORMAT cfFormat = 0,
LPFORMATETC lpFormatEtc = NULL);
Render
Sunucunun OLE öğesini nasıl işleyeceklerini belirten bayrak. Olası değerler için bkz . Windows SDK'sında OLERENDER .
cfFormat
OLE öğesi oluşturulurken önbelleğe alınacak Pano veri biçimini belirtir.
lpFormatEtc
İşleme OLERENDER_FORMAT veya OLERENDER_DRAW ise kullanılan bir FORMATETC yapısının işaretçisi. Bu parametre için yalnızca cfFormat tarafından belirtilen Pano biçiminin ötesinde ek biçim bilgileri belirtmek istiyorsanız bir değer sağlayın. Bu parametreyi atlarsanız, yapıdaki FORMATETC
diğer alanlar için varsayılan değerler kullanılır.
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Statik öğe, sunu verilerini içerir ancak yerel verileri içermez; bu nedenle düzenlenemez. CreateFromClipboard üye işlevi başarısız olursa genellikle bu işlevi çağırırsınız.
Daha fazla bilgi için bkz . Windows SDK'sında OLERENDER ve FORMATETC .
Bir nesneden COleDataObject
statik öğe oluşturmak için bu işlevi çağır.
BOOL CreateStaticFromData(
COleDataObject* pDataObject,
OLERENDER render = OLERENDER_DRAW,
CLIPFORMAT cfFormat = 0,
LPFORMATETC lpFormatEtc = NULL);
pDataObject
OLE öğesinin oluşturulacağı COleDataObject nesnesinin işaretçisi.
Render
Sunucunun OLE öğesini nasıl işleyeceklerini belirten bayrak. Olası değerler için bkz . Windows SDK'sında OLERENDER .
cfFormat
OLE öğesi oluşturulurken önbelleğe alınacak Pano veri biçimini belirtir.
lpFormatEtc
İşleme OLERENDER_FORMAT veya OLERENDER_DRAW ise kullanılan bir FORMATETC yapısının işaretçisi. Bu parametre için yalnızca cfFormat tarafından belirtilen Pano biçiminin ötesinde ek biçim bilgileri belirtmek istiyorsanız bir değer sağlayın. Bu parametreyi atlarsanız, yapıdaki FORMATETC
diğer alanlar için varsayılan değerler kullanılır.
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Statik öğe, sunu verilerini içerir ancak yerel verileri içermez; sonuç olarak düzenlenemez. Bu temelde CreateStaticFromClipboard ile aynıdır, ancak statik bir öğe yalnızca Pano'dan değil rastgele COleDataObject
bir öğeden oluşturulabilir.
Statik seçildiğinde COlePasteSpecialDialog::CreateItem içinde kullanılır.
Daha fazla bilgi için bkz . Windows SDK'sında OleCreateStaticFromData, OLERENDER ve FORMATETC .
OLE öğesini devre dışı bırakmak ve ilişkili kaynakları serbest bırakmak için bu işlevi çağırın.
void Deactivate();
Kullanıcı, öğenin sınırlarının dışındaki istemci alanında fareye tıkladığında, genellikle yerinde etkin bir OLE öğesini devre dışı bırakırsınız. OLE öğesinin devre dışı bırakılmasının geri alma durumunu atacağını ve ReactivateAndUndo üye işlevinin çağrılmasını imkansız hale getireceğini unutmayın.
Uygulamanız geri almayı destekliyorsa çağırmayınDeactivate
; bunun yerine DeactivateUI'yi çağırabilirsiniz.
Daha fazla bilgi için bkz . Windows SDK'sında IOleInPlaceObject::InPlaceDeactivate .
Kullanıcı yerinde etkinleştirilen bir öğeyi devre dışı bıraktığında bu işlevi çağırın.
void DeactivateUI();
Bu işlev, kapsayıcı uygulamasının kullanıcı arabirimini özgün durumuna geri yükler ve yerinde etkinleştirme için oluşturulan menüleri ve diğer denetimleri gizler.
Bu işlev öğenin geri alma durumu bilgilerini temizlemez. Bu bilgiler, kapsayıcının geri alma komutunun öğe devre dışı bırakıldıktan hemen sonra seçilmesi durumunda sunucu uygulamasında bir geri alma komutu yürütmek için Yeniden EtkinleştirAndUndo işlevinin kullanılabilmesi için korunur.
Daha fazla bilgi için bkz . Windows SDK'sında IOleInPlaceObject::InPlaceDeactivate .
Ole öğesini kapsayıcı belgesinden silmek için bu işlevi çağırın.
void Delete(BOOL bAutoDelete = TRUE);
bAutoDelete
Öğenin belgeden kaldırılıp kaldırılmayacağını belirtir.
Bu işlev Release member işlevini çağırır ve bu işlev de öğenin C++ nesnesini silerek OLE öğesini belgeden kalıcı olarak kaldırır. OLE öğesi eklenmişse, öğenin yerel verileri silinir. Her zaman çalışan bir sunucuyu kapatır; bu nedenle, öğe açık bir bağlantıysa, bu işlev öğeyi kapatır.
DoDragDrop
Sürükle ve bırak işlemi gerçekleştirmek için üye işlevini çağırın.
DROPEFFECT DoDragDrop(
LPCRECT lpItemRect,
CPoint ptOffset,
BOOL bIncludeLink = FALSE,
DWORD dwEffects = DROPEFFECT_COPY | DROPEFFECT_MOVE,
LPCRECT lpRectStartDrag = NULL);
lpItemRect
Öğenin istemci koordinatlarında (piksel) ekrandaki dikdörtgeni.
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. Sunucu 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.
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.
DROPEFFECT değeri. DROPEFFECT_MOVE ise, özgün veriler kaldırılmalıdır.
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 dikdörtgenin boyutu bir pikseldir.
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 .
Belirtilen fiili yürütmek için çağrısı DoVerb
.
virtual BOOL DoVerb(
LONG nVerb,
CView* pView,
LPMSG lpMsg = NULL);
nVerb
Yürütülecek fiili belirtir. Aşağıdakilerden birini içerebilir:
Değer | Anlamı | Simge |
---|---|---|
0- | Birincil fiil | OLEIVERB_PRIMARY |
-1 | İkincil fiil | (Yok) |
-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 .
pView
Görünüm penceresinin işaretçisi; bu, sunucu tarafından yerinde etkinleştirme için kullanılır. Kapsayıcı uygulaması yerinde etkinleştirmeye izin vermiyorsa bu parametre NULL olmalıdır.
lpMsg
Öğenin etkinleştirilmesine neden olan ileti işaretçisi.
Fiil başarıyla yürütüldüyse sıfır olmayan; aksi takdirde 0.
Bu işlev, fiili yürütmek için Üyeyi etkinleştir işlevini çağırır. Ayrıca özel durumları yakalar ve oluşturulduysa kullanıcıya bir ileti kutusu görüntüler.
Birincil fiil Düzenle ise ve nVerb parametresinde sıfır belirtilirse, OLE öğesinin düzenlenmesine izin vermek için sunucu uygulaması başlatılır. Kapsayıcı uygulaması yerinde etkinleştirmeyi destekliyorsa düzenleme yerinde yapılabilir. Kapsayıcı yerinde etkinleştirmeyi desteklemiyorsa (veya Aç fiili belirtilmişse), sunucu ayrı bir pencerede başlatılır ve düzenleme orada yapılabilir. Genellikle, kapsayıcı uygulamasının kullanıcısı OLE öğesine çift tıkladığında, nVerb parametresindeki birincil fiilin değeri kullanıcının hangi eylemi gerçekleştirebileceğini belirler. Ancak, sunucu yalnızca bir eylemi destekliyorsa, nVerb parametresinde hangi değerin belirtildiğine bakılmaksızın bu eylemi uygular.
Belirtilen cihaz bağlamını kullanarak OLE öğesini belirtilen sınırlayıcı dikdörtgene çizmek için bu işlevi çağırın.
BOOL Draw(
CDC* pDC,
LPCRECT lpBounds,
DVASPECT nDrawAspect = (DVASPECT)-1);
pDC
OLE öğesini çizmek için kullanılan bir CDC nesnesinin işaretçisi.
lpBounds
OLE öğesinin çizileceği sınırlayıcı dikdörtgeni tanımlayan bir CRect nesnesinin veya RECT
yapısının işaretçisi (cihaz bağlamı tarafından belirlenen mantıksal birimlerde).
nDrawAspect
OLE öğesinin yönünü, yani nasıl görüntülenmesi gerektiğini belirtir. nDrawAspect -1 ise, SetDrawAspect kullanılarak ayarlanan son özellik kullanılır. Bu bayrağın olası değerleri hakkında daha fazla bilgi için bkz . SetDrawAspect.
Başarılı olursa sıfır olmayan; aksi takdirde 0.
İşlev, onDraw üye işlevi tarafından oluşturulan OLE öğesinin meta dosyası gösterimini COleServerItem
kullanabilir.
Genellikle ekran görüntüsü için ekran cihazı bağlamını pDC olarak geçirerek kullanırsınızDraw
. Bu durumda, yalnızca ilk iki parametreyi belirtmeniz gerekir.
lpBounds parametresi hedef cihaz bağlamındaki dikdörtgeni tanımlar (geçerli eşleme moduna göre). İşleme, resmin ölçeklendirilmesini içerebilir ve kapsayıcı uygulamaları tarafından görüntülenen görünüm ile yazdırılan son görüntü arasında ölçeklendirilen bir görünüm uygulamak için kullanılabilir.
Daha fazla bilgi için bkz . Windows SDK'sında IViewObject::D raw .
Öğenin yerinde etkinleştirildiği görünümü döndürür.
CView* GetActiveView() const;
Görünümün işaretçisi; aksi takdirde öğe yerinde etkinleştirilmemişse NULL olur.
OLE öğesinin boyutunu almak için bu işlevi çağırın.
BOOL GetCachedExtent(
LPSIZE lpSize,
DVASPECT nDrawAspect = (DVASPECT)-1);
lpSize
Boyut bilgilerini alacak bir SIZE
yapıya veya CSize nesnesine yönelik işaretçi.
nDrawAspect
Sınırları alınacak OLE öğesinin yönünü belirtir. Olası değerler için bkz . SetDrawAspect.
Başarılı olursa sıfır olmayan; OLE öğesi boşsa 0.
Bu işlev GetExtent ile aynı bilgileri sağlar. Ancak, OnChange gibi diğer OLE işleyicilerinin işlenmesi sırasında kapsam bilgilerini almak için çağırabilirsinizGetCachedExtent
. Boyutlar MM_HIMETRIC birimlerdedir.
Bu, bu öğenin kapsamını almak için IOleObject arabirimini kullanmak yerine IViewObject2 arabirimini kullandığından mümkündür GetCachedExtent
. COM nesnesi, IViewObject2
önceki IViewObject::D raw çağrısında kullanılan kapsam bilgilerini önbelleğe alır.
Daha fazla bilgi için bkz . Windows SDK'sında IViewObject2::GetExtent .
Öğenin sınıf kimliğini pClassID ile işaret edilen belleğe döndürür.
void GetClassID(CLSID* pClassID) const;
pClassID
Sınıf kimliğini almak için CLSID türünde bir tanımlayıcıya yönelik işaretçi. CLSID hakkında bilgi için bkz. Windows SDK' sı.
Sınıf kimliği, öğeyi düzenleyen uygulamayı benzersiz olarak tanımlayan 128 bitlik bir sayıdır.
Daha fazla bilgi için bkz . Windows SDK'sında IPersist::GetClassID .
CopyToClipboard üye işlevine yapılan bir çağrıyla Pano'ya yerleştirilecek tüm verileri içeren bir nesne almak COleDataSource
için bu işlevi çağırın.
void GetClipboardData(
COleDataSource* pDataSource,
BOOL bIncludeLink = FALSE,
LPPOINT lpOffset = NULL,
LPSIZE lpSize = NULL);
pDataSource
OLE öğesinde yer alan verileri alacak bir COleDataSource nesnesi işaretçisi.
bIncludeLink
Bağlantı verilerinin eklenmesi gerekiyorsa TRUE; aksi takdirde YANLIŞ.
lpOffset
Fare imlecinin nesnenin kaynağından piksel cinsinden uzaklığı.
lpSize
Nesnenin piksel cinsinden boyutu.
GetClipboardData
, OnGetClipboardData'nın varsayılan uygulaması olarak çağrılır. Yalnızca tarafından CopyToClipboard
sunulanlara ek olarak veri biçimleri sunmak istiyorsanız geçersiz kılınOnGetClipboardData
. Çağrısından önce veya sonra CopyToClipboard
nesneye COleDataSource
bu biçimleri yerleştirin ve nesneyi COleDataSource::SetClipboard işlevine geçirinCOleDataSource
. Örneğin, OLE öğesinin kapsayıcı belgesindeki konumunun Pano'da buna eşlik etmelerini istiyorsanız, bu bilgileri geçirmek için kendi biçiminizi tanımlar ve çağırmadan CopyToClipboard
önce öğesine COleDataSource
yerleştirirsiniz.
OLE öğesini içeren belgenin işaretçisini almak için bu işlevi çağırın.
COleDocument* GetDocument() const;
OLE öğesini içeren belge işaretçisi. Öğe bir belgenin parçası değilse NULL.
Bu işaretçi, oluşturucuya COleDocument
bağımsız değişken olarak iletmiş olduğunuz nesneye COleClientItem
erişim sağlar.
GetDrawAspect
Öğenin geçerli "yönünü" veya görünümünü belirlemek için üye işlevini çağırın.
DVASPECT GetDrawAspect() const;
Değerleri SetDrawAspect başvurusunda listelenen DVASPECT sabit listesinden bir değer.
yönü, öğenin nasıl işlendiğini belirtir.
OLE öğesinin boyutunu almak için bu işlevi çağırın.
BOOL GetExtent(
LPSIZE lpSize,
DVASPECT nDrawAspect = (DVASPECT)- 1);
lpSize
Boyut bilgilerini alacak bir SIZE
CSize
yapıya veya nesneye işaretçi.
nDrawAspect
Sınırları alınacak OLE öğesinin yönünü belirtir. Olası değerler için bkz . SetDrawAspect.
Başarılı olursa sıfır olmayan; OLE öğesi boşsa 0.
Sunucu uygulaması Microsoft Foundation Sınıf Kitaplığı kullanılarak yazıldıysa, bu işlev ilgili COleServerItem
nesnenin OnGetExtent üye işlevinin çağrılmaya neden olur. Alınan boyutun SetExtent üye işlevi tarafından ayarlanan son boyuttan farklı olabileceğini unutmayın; tarafından SetExtent
belirtilen boyut bir öneri olarak kabul edilir. Boyutlar MM_HIMETRIC birimlerdedir.
Not
OnChange gibi bir OLE işleyicisinin işlenmesi sırasında çağırmayınGetExtent
. Bunun yerine GetCachedExtent'i çağırın.
Daha fazla bilgi için bkz . Windows SDK'sında IOleObject::GetExtent .
Belirli bir CLSID sunucusuyla ilişkilendirilmiş bir simge kaynağına tanıtıcı almak için bu üye işlevini çağırın.
HICON GetIconFromRegistry() const;
static HICON GetIconFromRegistry(CLSID& clsid);
clsid
Simgeyle ilişkilendirilmiş sunucu için CLSID başvurusu.
Simge kaynağı için geçerli bir tanıtıcı veya sunucunun simgesi veya varsayılan simge bulunamıyorsa NULL.
Bu üye işlevi, sunucu zaten çalışıyor olsa bile sunucuyu başlatmaz veya dinamik olarak bir simge edinmez. Bunun yerine, bu üye işlevi sunucunun yürütülebilir görüntüsünü açar ve kaydedildikçe sunucuyla ilişkili statik simgeyi alır.
Öğenin simgesini çizmek için kullanılan meta dosyasını alır.
HGLOBAL GetIconicMetafile();
Başarılı olursa meta dosyasının tanıtıcısı; aksi takdirde NULL.
Geçerli bir simge yoksa, varsayılan bir simge döndürülür. Bu, MFC/OLE iletişim kutuları tarafından otomatik olarak çağrılır ve genellikle doğrudan çağrılmaz.
Bu işlev, meta dosyasını daha sonra kullanmak üzere önbelleğe almak için SetIconicMetafile'ı da çağırır.
GetInPlaceWindow
Öğenin yerinde düzenleme için açıldığı pencereye bir işaretçi almak için üye işlevini çağırın.
CWnd* GetInPlaceWindow();
Öğenin yerinde düzenleme penceresinin işaretçisi; Öğe etkin değilse veya sunucusu kullanılamıyorsa NULL.
Bu işlev yalnızca yerinde etkin olan öğeler için çağrılmalıdır.
OLE öğesinin geçerli durumunu almak için bu işlevi çağırın.
UINT GetItemState() const;
COleClientItem::ItemState
Aşağıdakilerden biri olabilecek numaralandırılmış değer: emptyState
, loadedState
, openState
, activeState
, . activeUIState
Bu durumlar hakkında bilgi için Kapsayıcılar: İstemci-Öğe Durumları makalesine bakın.
OLE öğesinin durumu değiştiğinde bildirim almak için OnChange üye işlevini kullanın.
Daha fazla bilgi için Kapsayıcılar: İstemci-Öğe Durumları makalesine bakın.
Son OLE işleminin durum kodunu döndürür.
SCODE GetLastStatus() const;
SCODE değeri.
YANLIŞ'ın BOOL değerini döndüren üye işlevleri veya NULL döndüren diğer üye işlevleri için GetLastStatus
daha ayrıntılı hata bilgileri döndürür. OLE üye işlevlerinin çoğunun daha ciddi hatalar için özel durumlar oluşturduğunu unutmayın. SCODE'un yorumlanmasıyla ilgili belirli bilgiler, en son bir SCODE değeri döndüren temel OLE çağrısına bağlıdır.
SCODE hakkında daha fazla bilgi için Windows SDK belgelerindeki COM Hata Kodlarının Yapısı bölümüne bakın.
OLE öğesinin bağlantı güncelleştirme seçeneğinin geçerli değerini almak için bu işlevi çağırın.
OLEUPDATE GetLinkUpdateOptions();
Aşağıdaki değerlerden biri:
OLEUPDATE_ALWAYS Mümkün olduğunda bağlı öğeyi güncelleştirin. Bu seçenek, Bağlantılar iletişim kutusundaki Otomatik bağlantı güncelleştirme radyo düğmesini destekler.
OLEUPDATE_ONCALL Bağlı öğeyi yalnızca kapsayıcı uygulamasından gelen istek üzerine güncelleştirin (UpdateLink üye işlevi çağrıldığında). Bu seçenek, Bağlantılar iletişim kutusundaki El ile bağlantı güncelleştirme radyo düğmesini destekler.
Bu gelişmiş bir işlemdir.
Bu işlev COleLinksDialog sınıfı tarafından otomatik olarak çağrılır.
Daha fazla bilgi için bkz . Windows SDK'sında IOleLink::GetUpdateOptions .
OLE öğesinin katıştırılmış mı, bağlı mı yoksa statik mi olduğunu belirlemek için bu işlevi çağırın.
OLE_OBJTYPE GetType() const;
Aşağıdaki değerlerden birine sahip işaretsiz bir tamsayı:
OT_LINK OLE öğesi bir bağlantıdır.
OT_EMBEDDED OLE öğesi katıştırılır.
OT_STATIC OLE öğesi statiktir, yani yerel verileri değil yalnızca sunu verilerini içerir ve bu nedenle düzenlenemez.
"Word belgesi" gibi OLE öğesinin türünü açıklayan kullanıcı görünür dizesini almak için bu işlevi çağırın.
void GetUserType(
USERCLASSTYPE nUserClassType,
CString& rString);
nUserClassType
OLE öğesinin türünü açıklayan dizenin istenen değişkenini gösteren değer. Bu, aşağıdaki değerlerden birine sahip olabilir:
USERCLASSTYPE_FULL Kullanıcıya görüntülenen tam tür adı.
USERCLASSTYPE_SHORT Açılır menülerde ve Bağlantıları Düzenle iletişim kutusunda kullanılmak üzere kısa ad (en fazla 15 karakter).
USERCLASSTYPE_APPNAME Sınıfına hizmet eden uygulamanın adı.
rString
OLE öğesinin türünü açıklayan dizenin döndürülecek olduğu bir CString nesnesi başvurusu.
Bu genellikle sistem kayıt veritabanındaki giriştir.
Tam tür adı istenirse ancak kullanılamıyorsa, bunun yerine kısa ad kullanılır. Kayıt veritabanında OLE öğesinin türüne yönelik bir giriş bulunamazsa veya OLE öğesi türü için kayıtlı kullanıcı türü yoksa, ole öğesinde depolanan kullanıcı türü kullanılır. Bu kullanıcı türü adı boş bir dizeyse, "Bilinmeyen Nesne" kullanılır.
Daha fazla bilgi için bkz . Windows SDK'sında IOleObject::GetUserType .
OLE öğesinin yerinde etkin olup olmadığını görmek için bu işlevi çağırın.
BOOL IsInPlaceActive() const;
OLE öğesi yerinde etkinse sıfır olmayan; aksi takdirde 0.
Öğenin yerinde düzenlenip düzenlenmediğine bağlı olarak farklı mantık yürütmek yaygın bir durumdur. İşlev, geçerli öğe durumunun veya activeUIState
değerine activeState
eşit olup olmadığını denetler.
OLE öğesinin güncel olup olmadığını görmek için bu işlevi çağırın.
BOOL IsLinkUpToDate() const;
OLE öğesi güncelse sıfır olmayan; aksi takdirde 0.
Bağlantılı öğenin kaynak belgesi güncelleştirildiyse güncel olmayabilir. İçinde bağlantılar içeren eklenmiş bir öğe de benzer şekilde eski olabilir. İşlev, OLE öğesini özyinelemeli olarak denetler. Bir OLE öğesinin güncel olup olmadığını belirlemenin, bir güncelleştirmeyi gerçekleştirmek kadar pahalı olabileceğini unutmayın.
Bu, COleLinksDialog uygulaması tarafından otomatik olarak çağrılır.
Daha fazla bilgi için bkz . Windows SDK'sında IOleObject::IsUpToDate .
OLE öğesinin kirli olup olmadığını (son kaydedildiğinden beri değiştirildi) görmek için bu işlevi çağırın.
BOOL IsModified() const;
OLE öğesi kirliyse sıfır olmayan; aksi takdirde 0.
Daha fazla bilgi için bkz . Windows SDK'sında IPersistStorage::IsDirty .
OLE öğesinin açık olup olmadığını görmek için bu işlevi çağırın; başka bir ifadeyle, ayrı bir pencerede çalışan sunucu uygulamasının bir örneğinde açılır.
BOOL IsOpen() const;
OLE öğesi açıksa sıfır olmayan; aksi takdirde 0.
Bir tarama deseni ile nesnenin ne zaman çizileceğini belirlemek için kullanılır. Açık bir nesnenin üzerine çizilmiş bir tarama deseni olmalıdır. Bunu yapmak için bir CRectTracker nesnesi kullanabilirsiniz.
OLE öğesinin çalışıp çalışmadığını görmek için bu işlevi çağırın; başka bir ifadeyle, öğenin sunucu uygulamasında yüklenip yüklenmediği ve çalıştırılıp çalıştırılmadığı.
BOOL IsRunning() const;
OLE öğesi çalışıyorsa sıfır olmayan; aksi takdirde 0.
Daha fazla bilgi için bkz . Windows SDK'sında OleIsRunning .
Öğeye yeni etkinleştirildiğini bildirmek için çerçeve tarafından çağrılır.
virtual void OnActivate();
Bu işlevin, kullanıcının arabiriminin kapsayıcı uygulamasına yüklendiğini göstermek için değil, sunucunun çalıştığını belirtmek için çağrıldığını unutmayın. Bu noktada, nesnenin etkin bir kullanıcı arabirimi yoktur (değildir activeUIState
). Menülerini veya araç çubuğunu yüklememiş. Bu durumda OnActivateUI üye işlevi çağrılır.
Varsayılan uygulama, parametre olarak OLE_CHANGEDSTATE ile OnChange üye işlevini çağırır. Bir öğe yerinde etkin hale geldiğinde özel işlem gerçekleştirmek için bu işlevi geçersiz kılın.
Nesne etkin kullanıcı arabirimi durumuna girdiğinde çerçeve çağrılır OnActivateUI
.
virtual void OnActivateUI();
Nesnesi artık araç çubuğunu ve menülerini yükledi.
Varsayılan uygulama, sonraki GetServerWindow
çağrılar için sunucunun HWND'sini anımsar.
Kullanıcı OLE öğesini değiştirdiğinde, kaydettiğinde veya kapattığında çerçeve tarafından çağrılır.
virtual void OnChange(
OLE_NOTIFICATION nCode,
DWORD dwParam);
nCode
Sunucunun bu öğeyi değiştirmesinin nedeni. Aşağıdaki değerlerden birine sahip olabilir:
OLE_CHANGED OLE öğesinin görünümü değişti.
OLE_SAVED OLE öğesi kaydedildi.
OLE_CLOSED OLE öğesi kapatıldı.
OLE_CHANGED_STATE OLE öğesi bir durumdan diğerine değiştirildi.
dwParam
nCode OLE_SAVED veya OLE_CLOSED ise, bu parametre kullanılmaz. nCode OLE_CHANGED ise, bu parametre OLE öğesinin değişen yönünü belirtir. Olası değerler için COleClientItem::D raw dwParam parametresine bakın. nCode OLE_CHANGED_STATE, bu parametre numaralandırılmış bir COleClientItem::ItemState
değerdir ve girilmekte olan durumu açıklar. Şu değerlerden birine sahip olabilir: emptyState
, loadedState
, openState
, activeState
veya activeUIState
.
(Sunucu uygulaması Microsoft Foundation Sınıf Kitaplığı kullanılarak yazılmışsa, bu işlev veya COleServerItem
öğesinin Notify
üye işlevlerine yanıt olarak çağrılırCOleServerDoc
.) Varsayılan uygulama, nCode OLE_CHANGED veya OLE_SAVED kapsayıcı belgesini değiştirildi olarak işaretler.
OLE_CHANGED_STATE için GetItemState'ten döndürülen geçerli durum yine eski durum olur, yani bu durum değişikliğinden önce geçerli olan durumdur.
OLE öğesinin durumundaki değişikliklere yanıt vermek için bu işlevi geçersiz kılın. Genellikle öğenin görüntülendiği alanı geçersiz kılarak öğenin görünümünü güncelleştirirsiniz. Geçersiz kılmanızın başında temel sınıf uygulamasını çağırın.
Kapsayıcıya yerinde etkinleştirme sırasında OLE öğesinin kapsamının değiştiğini bildirmek için çerçeve tarafından çağrılır.
virtual BOOL OnChangeItemPosition(const CRect& rectPos);
rectPos
Öğenin kapsayıcı uygulamasının istemci alanına göre konumunu gösterir.
Öğenin konumu başarıyla değiştirilirse sıfır olmayan; aksi takdirde 0.
Varsayılan uygulama, OLE öğesinin yeni görünür dikdörtgenini belirler ve yeni değerlerle SetItemRects'i çağırır. Varsayılan uygulama, öğenin görünür dikdörtgenini hesaplar ve bu bilgileri sunucuya geçirir.
Yeniden boyutlandırma/taşıma işlemine özel kurallar uygulamak için bu işlevi geçersiz kılın. Uygulama MFC'de yazılmışsa, bu çağrı COleServerDoc::RequestPositionChange adlı sunucu nedeniyle sonuçlanır.
OLE öğesi yerinde etkin durumdan ( activeState
) yüklenen duruma geçtiğinde çerçeve tarafından çağrılır, yani yerinde etkinleştirmeden sonra devre dışı bırakılır.
virtual void OnDeactivate();
Bu işlevin, kullanıcı arabiriminin kapsayıcı uygulamasından kaldırıldığını değil OLE öğesinin kapatıldığını belirtmek için çağrıldığını unutmayın. Bu durumda OnDeactivateUI üye işlevi çağrılır.
Varsayılan uygulama, parametre olarak OLE_CHANGEDSTATE ile OnChange üye işlevini çağırır. Yerinde etkin bir öğe devre dışı bırakıldığında özel işlem gerçekleştirmek için bu işlevi geçersiz kılın. Örneğin, kapsayıcı uygulamanızda geri alma komutunu destekliyorsanız, öğe devre dışı bırakıldıktan sonra OLE öğesinde gerçekleştirilen son işlemin geri alınamayacağını belirterek geri alma durumunu atmak için bu işlevi geçersiz kılabilirsiniz.
Kullanıcı OLE öğesini etkinleştirdikten sonra geri alma komutunu çağırdığında çerçeve tarafından çağrılır.
virtual void OnDeactivateAndUndo();
Varsayılan uygulama, sunucunun kullanıcı arabirimini devre dışı bırakmak için DeactivateUI'yi çağırır. Kapsayıcı uygulamanızda geri alma komutunu uyguluyorsanız bu işlevi geçersiz kılın. Geçersiz kılma işleminizde işlevin temel sınıf sürümünü çağırın ve uygulamanızda yürütülen son komutu geri alın.
Daha fazla bilgi için bkz . Windows SDK'sında IOleInPlaceSite::D eactivateAndUndo .
Kullanıcı yerinde etkinleştirilen bir öğeyi devre dışı bıraktığında çağrılır.
virtual void OnDeactivateUI(BOOL bUndoable);
bUndoable
Düzenleme değişikliklerinin geri alınıp alınamayacağını belirtir.
Bu işlev, kapsayıcı uygulamasının kullanıcı arabirimini özgün durumuna geri yükler ve yerinde etkinleştirme için oluşturulan menüleri ve diğer denetimleri gizler.
bUndoable FALSE ise, sunucu tarafından gerçekleştirilen son işlemin geri alınamaz olduğunu gösterdiğinden kapsayıcının geri alma komutunu devre dışı bırakması gerekir.
Kullanıcı OLE öğesini düzenlerken geri alma durumunu atan bir eylem gerçekleştirdiğinde çerçeve tarafından çağrılır.
virtual void OnDiscardUndoState();
Varsayılan uygulama hiçbir şey yapmaz. Kapsayıcı uygulamanızda geri alma komutunu uyguluyorsanız bu işlevi geçersiz kılın. Geçersiz kılma işleminizde kapsayıcı uygulamasının geri alma durumunu atın.
Sunucu Microsoft Foundation Sınıf Kitaplığı ile yazılmışsa, sunucu COleServerDoc::D iscardUndoState çağrılarak bu işlevin çağrılmasına neden olabilir.
Daha fazla bilgi için bkz . Windows SDK'sında IOleInPlaceSite::D iscardUndoState .
CopyToClipboard veya DoDragDrop üye işlevine yapılan bir çağrıyla Pano'ya yerleştirilecek tüm verileri içeren bir nesneyi almak COleDataSource
için çerçeve tarafından çağrılır.
virtual COleDataSource* OnGetClipboardData(
BOOL bIncludeLink,
LPPOINT lpOffset,
LPSIZE lpSize);
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ığının işaretçisi.
lpSize
Nesnenin piksel cinsinden boyutuna işaret eden işaretçi.
Pano verilerini içeren COleDataSource nesnesine yönelik bir işaretçi.
Bu işlevin varsayılan uygulaması GetClipboardData'yi çağırır.
Çerçeve, düzenlenmekte OnGetClipRect
olan öğenin kırpma dikdörtgen koordinatlarını almak için üye işlevini çağırır.
virtual void OnGetClipRect(CRect& rClipRect);
rClipRect
Öğenin kırpma-dikdörtgen koordinatlarını tutacak CRect sınıfının bir nesnesine yönelik işaretçi.
Koordinatlar, kapsayıcı uygulama penceresinin istemci alanına göre piksel cinsindendir.
Varsayılan uygulama yalnızca öğenin yerinde etkin olduğu görünümün istemci dikdörtgenini döndürür.
Çerçeve, düzenlenmekte OnGetItemPosition
olan öğenin koordinatlarını almak için üye işlevini çağırır.
virtual void OnGetItemPosition(CRect& rPosition);
rPosition
Öğenin konum koordinatlarını içerecek CRect nesnesine başvuru.
Koordinatlar, kapsayıcı uygulama penceresinin istemci alanına göre piksel cinsindendir.
Bu işlevin varsayılan uygulaması hiçbir şey yapmaz. Yerinde düzenlemeyi destekleyen uygulamaların uygulanması gerekir.
Bir öğe etkin olduğunda çerçeve tarafından çağrılır.
virtual BOOL OnGetWindowContext(
CFrameWnd** ppMainFrame,
CFrameWnd** ppDocFrame,
LPOLEINPLACEFRAMEINFO lpFrameInfo);
ppMainFrame
Ana çerçeve penceresinin işaretçisine işaret eden işaretçi.
ppDocFrame
Belge çerçevesi penceresinin işaretçisine işaret eden işaretçi.
lpFrameInfo
Çerçeve penceresi bilgilerini alacak bir OLEINPLACEFRAMEINFO yapısının işaretçisi.
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Bu işlev, OLE öğesinin üst penceresi hakkındaki bilgileri almak için kullanılır.
Kapsayıcı bir MDI uygulamasıysa, varsayılan uygulama ppMainFrame'deki CMDIFrameWnd nesnesine bir işaretçi ve ppDocFrame'deki etkin CMDIChildWnd nesnesine yönelik bir işaretçi döndürür. Kapsayıcı bir SDI uygulamasıysa, varsayılan uygulama ppMainFrame içindeki CFrameWnd nesnesine bir işaretçi döndürür ve ppDocFrame'de NULL döndürür. Varsayılan uygulama lpFrameInfo üyelerini de doldurur.
Bu işlevi yalnızca varsayılan uygulama uygulamanız için uygun değilse geçersiz kılın; örneğin, uygulamanızın SDI veya MDI'dan farklı bir kullanıcı arabirimi paradigması varsa. Bu, gelişmiş bir geçersiz kılınabilir.
Daha fazla bilgi için bkz. Windows SDK'sında IOleInPlaceSite::GetWindowContext ve OLEINPLACEFRAMEINFO yapısı.
Kapsayıcı uygulamasının menülerini boş bir menüye eklemek için yerinde etkinleştirme sırasında çerçeve tarafından çağrılır.
virtual void OnInsertMenus(
CMenu* pMenuShared,
LPOLEMENUGROUPWIDTHS lpMenuWidths);
pMenuShared
Boş bir menüyü gösterir.
lpMenuWidths
Aşağıdaki menü gruplarının her birinde kaç menü olduğunu gösteren altı LONG değeri içeren bir diziye işaret eder: Dosya, Düzenle, Kapsayıcı, Nesne, Pencere, Yardım. Kapsayıcı uygulaması, bu dizinin 0, 2 ve 4 öğelerine karşılık gelen Dosya, Kapsayıcı ve Pencere menü gruplarından sorumludur.
Ardından bu menü, kendi menülerini ekleyen ve bileşik menü oluşturan sunucuya geçirilir. Bu işlev birkaç bileşik menü oluşturmak için tekrar tekrar çağrılabilir.
Varsayılan uygulama, pMenuShared içine yerinde kapsayıcı menülerini, yani Dosya, Kapsayıcı ve Pencere menü gruplarını ekler. Bu menü kaynağını ayarlamak için CDocTemplate::SetContainerInfo kullanılır. Varsayılan uygulama, menü kaynağına bağlı olarak lpMenuWidths içindeki 0, 2 ve 4 öğelerine de uygun değerleri atar. Varsayılan uygulama uygulamanız için uygun değilse bu işlevi geçersiz kılın; örneğin, uygulamanız kaynakları belge türleriyle ilişkilendirmek için belge şablonları kullanmıyorsa. Bu işlevi geçersiz kılarsanız, OnSetMenu ve OnRemoveMenus'ı da geçersiz kılmalısınız. Bu, gelişmiş bir geçersiz kılınabilir.
Daha fazla bilgi için bkz . Windows SDK'sında IOleInPlaceFrame::InsertMenus .
Yerinde etkinleştirme sona erdiğinde kapsayıcının menülerini belirtilen bileşik menüden kaldırmak için çerçeve tarafından çağrılır.
virtual void OnRemoveMenus(CMenu* pMenuShared);
pMenuShared
OnInsertMenus üye işlevine yapılan çağrılar tarafından derlenen bileşik menüyü gösterir.
Varsayılan uygulama, pMenuShared yerinde kapsayıcı menülerinden , yani Dosya, Kapsayıcı ve Pencere menü gruplarından kaldırır. Varsayılan uygulama uygulamanız için uygun değilse bu işlevi geçersiz kılın; örneğin, uygulamanız kaynakları belge türleriyle ilişkilendirmek için belge şablonları kullanmıyorsa. Bu işlevi geçersiz kılarsanız, büyük olasılıkla OnInsertMenus ve OnSetMenu'yu da geçersiz kılmalısınız. Bu, gelişmiş bir geçersiz kılınabilir.
pMenuShared üzerindeki alt menüler, sunucu sürekli olarak çağrısında OnInsertMenus
bulunuyorsa birden fazla bileşik menü tarafından paylaşılabilir. Bu nedenle, geçersiz kılma OnRemoveMenus
işleminizde hiçbir alt menüyü silmemelisiniz; bunları yalnızca ayırmanız gerekir.
Daha fazla bilgi için bkz . Windows SDK'sında IOleInPlaceFrame::RemoveMenus .
Sunucudan gelen isteklere yanıt olarak OLE öğesini kaydırmak için çerçeve tarafından çağrılır.
virtual BOOL OnScrollBy(CSize sizeExtent);
sizeExtent
x ve y yönlerinde kaydırmak için uzaklıkları piksel cinsinden belirtir.
Öğe kaydırıldıysa sıfır olmayan; Öğe kaydırılamadıysa 0.
Örneğin, OLE öğesi kısmen görünür durumdaysa ve kullanıcı yerinde düzenleme yaparken görünür bölgenin dışına taşınırsa, imleci görünür durumda tutmak için bu işlev çağrılır. Varsayılan uygulama hiçbir şey yapmaz. Öğeyi belirtilen miktarda kaydırmak için bu işlevi geçersiz kılın. Kaydırmanın sonucunda OLE öğesinin görünür bölümünün değişebileceğini unutmayın. Öğenin görünür dikdörtgenini güncelleştirmek için SetItemRects öğesini çağırın.
Daha fazla bilgi için bkz . Windows SDK'sında IOleInPlaceSite::Scroll .
Yerinde etkinleştirme başladığında ve sona erdiğinde çerçeve tarafından iki kez çağrılır; bileşik menüyü ilk kez yüklemek için ve ikinci kez (null'a eşit delik menüsü ile) kaldırmak için.
virtual void OnSetMenu(
CMenu* pMenuShared,
HOLEMENU holemenu,
HWND hwndActiveObject);
pMenuShared
OnInsertMenus üye işlevine ve işlevine yapılan çağrılar tarafından derlenen bileşik menünün işaretçisiInsertMenu
.
holemenu
İşlev tarafından döndürülen menü tanımlayıcısına OleCreateMenuDescriptor
yönelik tanıtıcı veya dağıtım kodu kaldırılacaksa NULL.
hwndActiveObject
OLE öğesinin düzenleme penceresinin tutamacı. Bu, OLE'den düzenleme komutları alacak penceredir.
Varsayılan uygulama bileşik menüyü yükler veya kaldırır ve ardından olesetmenuDescriptor işlevini çağırarak dağıtım kodunu yükler veya kaldırır. Varsayılan uygulama uygulamanız için uygun değilse bu işlevi geçersiz kılın. Bu işlevi geçersiz kılarsanız, büyük olasılıkla OnInsertMenus ve OnRemoveMenus'u da geçersiz kılmalısınız. Bu, gelişmiş bir geçersiz kılınabilir.
Daha fazla bilgi için Bkz . Windows SDK'sında OleCreateMenuDescriptor, OleSetMenuDescriptor ve IOleInPlaceFrame::SetMenu .
Kapsayıcı uygulamasının denetim çubuklarını göstermek ve gizlemek için çerçeve tarafından çağrılır.
virtual BOOL OnShowControlBars(
CFrameWnd* pFrameWnd,
BOOL bShow);
pFrameWnd
Kapsayıcı uygulamasının çerçeve penceresinin işaretçisi. Bu bir ana çerçeve penceresi veya MDI alt penceresi olabilir.
bShow
Denetim çubuklarının gösterileceğini mi yoksa gizlenip gizlenmeyeceğini belirtir.
İşlev çağrısı denetim çubuklarının durumunda bir değişikliğe neden oluyorsa sıfır olmayan; Çağrı hiçbir değişikliğe neden olmazsa veya pFrameWnd kapsayıcının çerçeve penceresine işaret etmiyorsa 0.
Denetim çubukları bShow tarafından belirtilen durumdaysa bu işlev 0 döndürür. Bu durum, örneğin denetim çubukları gizliyse ve bShow YANLIŞ ise ortaya çıkar.
Varsayılan uygulama, araç çubuğunu üst düzey çerçeve penceresinden kaldırır.
Ole öğesini görüntülemek için çerçeve tarafından çağrılır ve düzenleme sırasında tamamen görünür hale getirilir.
virtual void OnShowItem();
Kapsayıcı uygulamanız katıştırılmış öğelere yönelik bağlantıları desteklediğinde (yani, belge sınıfınızı COleLinkingDoc'tan türetdiyseniz) kullanılır. Bu işlev, yerinde etkinleştirme sırasında veya OLE öğesi bir bağlantı kaynağı olduğunda ve kullanıcı onu düzenlemek istediğinde çağrılır. Varsayılan uygulama, kapsayıcı belgesinde ilk görünümü etkinleştirir. Ole öğesinin görünür olması için belgeyi kaydırmak için bu işlevi geçersiz kılın.
Çerçeve penceresinin başlık çubuğunu güncelleştirmek için yerinde etkinleştirme sırasında çerçeve tarafından çağrılır.
virtual BOOL OnUpdateFrameTitle();
Bu işlev çerçeve başlığını başarıyla güncelleştirdiyse sıfır olmayan, aksi takdirde sıfır.
Varsayılan uygulama çerçeve penceresi başlığını değiştirmez. Uygulamanız için farklı bir çerçeve başlığı istiyorsanız, örneğin " docname'de sunucu uygulaması - öğesi" (örneğin, "Microsoft Excel - REPORT.DOC'de elektronik tablo") bu işlevi geçersiz kılın. Bu, gelişmiş bir geçersiz kılınabilir.
OLE öğesini yeniden etkinleştirmek ve yerinde düzenleme sırasında kullanıcı tarafından gerçekleştirilen son işlemi geri almak için bu işlevi çağırın.
BOOL ReactivateAndUndo();
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Kapsayıcı uygulamanız geri alma komutunu destekliyorsa, kullanıcı OLE öğesini devre dışı bırakdıktan hemen sonra geri al komutunu seçerse bu işlevi çağırın.
Sunucu uygulaması Microsoft Foundation Sınıf Kitaplıkları ile yazılmışsa, bu işlev sunucunun COleServerDoc::OnReactivateAndUndo çağrısına neden olur.
Daha fazla bilgi için bkz . Windows SDK'sında IOleInPlaceObject::ReactivateAndUndo .
OLE öğesi tarafından kullanılan kaynakları temizlemek için bu işlevi çağırın.
virtual void Release(OLECLOSE dwCloseOption = OLECLOSE_NOSAVE);
dwCloseOption
Ole öğesinin yüklenen duruma geri döndüğünde hangi koşullarda kaydedileceğini belirten bayrak. Olası değerlerin listesi için bkz . COleClientItem::Close.
Release
, yıkıcı tarafından çağrılır COleClientItem
.
Daha fazla bilgi için bkz . Windows SDK'sında IUnknown::Release .
Öğeyi kapatır ve yeniden yükler.
BOOL Reload();
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Reload
ActivateAs çağrısıyla öğeyi başka türde bir öğe olarak etkinleştirdikten sonra işlevini çağırın.
Bu öğeyle ilişkili uygulamayı çalıştırır.
void Run();
Öğeyi Run
etkinleştirmeden önce sunucu uygulamasını başlatmak için üye işlevini çağırın. Bu işlem Activate ve DoVerb tarafından otomatik olarak yapılır, bu nedenle genellikle bu işlevi çağırmak gerekmez. DoVerb'i yürütmeden önce SetExtent gibi bir öğe özniteliği ayarlamak için sunucunun çalıştırılması gerekiyorsa bu işlevi çağırın.
SetDrawAspect
Öğenin "yönünü" veya görünümünü ayarlamak için üye işlevini çağırın.
virtual void SetDrawAspect(DVASPECT nDrawAspect);
nDrawAspect
DVASPECT numaralandırmasından bir değer. Bu parametre aşağıdaki değerlerden 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.
bu özellik, bu işlevin nDrawAspect bağımsız değişkeni için varsayılan değer kullanıldığında öğenin Draw tarafından nasıl işlendiğini belirtir.
Bu işlev, kullanıcı tarafından istendiğinde simgesel görüntüleme yönünü etkinleştirmek için Değiştir Simgesi (ve Simgeyi Değiştir iletişim kutusunu doğrudan çağıran diğer iletişim kutuları) tarafından otomatik olarak çağrılır.
OLE öğesi için ne kadar kullanılabilir alan olduğunu belirtmek için bu işlevi çağırın.
void SetExtent(
const CSize& size,
DVASPECT nDrawAspect = DVASPECT_CONTENT);
boyut
Boyut bilgilerini içeren bir CSize nesnesi.
nDrawAspect
Sınırları ayarlanacak OLE öğesinin yönünü belirtir. Olası değerler için bkz . SetDrawAspect.
Sunucu uygulaması Microsoft Foundation Sınıf Kitaplığı kullanılarak yazıldıysa, bu, karşılık gelen COleServerItem
nesnenin OnSetExtent üye işlevinin çağrılmaya neden olur. Ole öğesi daha sonra görünümünü uygun şekilde ayarlayabilir. Boyutlar MM_HIMETRIC birimlerde olmalıdır. Kullanıcı OLE öğesini yeniden boyutlandırdığında veya bir düzen anlaşması biçimini destekliyorsanız bu işlevi çağırın.
Daha fazla bilgi için bkz . Windows SDK'sında IOleObject::SetExtent .
Kapsayıcı uygulamasının adını ve katıştırılmış ole öğesinin kapsayıcı adını belirtmek için bu işlevi çağırın.
void SetHostNames(
LPCTSTR lpszHost,
LPCTSTR lpszHostObj);
lpszHost
Kapsayıcı uygulamasının kullanıcı tarafından görünen adına işaret eden işaretçi.
lpszHostObj
OLE öğesini içeren kapsayıcının tanımlayıcı dizesini gösteren işaretçi.
Sunucu uygulaması Microsoft Foundation Sınıf Kitaplığı kullanılarak yazıldıysa, bu işlev OLE öğesini içeren belgenin COleServerDoc
OnSetHostNames üye işlevini çağırır. Bu bilgiler, OLE öğesi düzenlenirken pencere başlıklarında kullanılır. Bir kapsayıcı belgesi her yüklendiğinde, çerçeve belgedeki tüm OLE öğeleri için bu işlevi çağırır. SetHostNames
yalnızca eklenmiş öğeler için geçerlidir. Katıştırılmış bir OLE öğesi düzenleme için her etkinleştirildiğinde bu işlevi çağırmak gerekmez.
Bu, bir nesne yüklendiğinde veya bir dosya farklı bir ad altında kaydedildiğinde uygulama adı ve belge adıyla otomatik olarak da çağrılır. Buna göre, bu işlevin doğrudan çağrılması genellikle gerekli değildir.
Daha fazla bilgi için bkz . Windows SDK'sında IOleObject::SetHostNames .
Öğenin simgesini çizmek için kullanılan meta dosyasını önbelleğe alır.
BOOL SetIconicMetafile(HGLOBAL hMetaPict);
hMetaPict
Öğenin simgesini çizmek için kullanılan meta dosyasının tanıtıcısı.
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Meta dosyasını almak için GetIconicMetafile kullanın.
hMetaPict parametresi öğeye kopyalanır; bu nedenle, hMetaPict çağıran tarafından serbest bırakılmalıdır.
Sınırlayıcı dikdörtgeni veya OLE öğesinin görünür dikdörtgenini ayarlamak için bu işlevi çağırın.
BOOL SetItemRects(
LPCRECT lpPosRect = NULL,
LPCRECT lpClipRect = NULL);
lprcPosRect
İstemci koordinatlarında üst penceresine göre OLE öğesinin sınırlarını içeren dikdörtgenin işaretçisi.
lprcClipRect
İSTEMCI koordinatlarında OLE öğesinin üst penceresine göre görünür bölümünün sınırlarını içeren dikdörtgenin işaretçisi.
Başarılı olursa sıfır olmayan; aksi takdirde, 0.
Bu işlev, OnChangeItemPosition üye işlevinin varsayılan uygulaması tarafından çağrılır. OLE öğesinin konumu veya görünür bölümü değiştiğinde bu işlevi çağırmalısınız. Genellikle bu, görünümünüzün OnSize ve OnScrollBy üye işlevlerinden çağırdığınız anlamına gelir.
Daha fazla bilgi için bkz . Windows SDK'sında IOleInPlaceObject::SetObjectRects .
Belirtilen bağlantılı öğenin sunusu için bağlantı güncelleştirme seçeneğini ayarlamak için bu işlevi çağırın.
void SetLinkUpdateOptions(OLEUPDATE dwUpdateOpt);
dwUpdateOpt
Bu öğe için bağlantı güncelleştirme seçeneğinin değeri. Bu değer aşağıdakilerden biri olmalıdır:
OLEUPDATE_ALWAYS Mümkün olduğunda bağlı öğeyi güncelleştirin. Bu seçenek, Bağlantılar iletişim kutusundaki Otomatik bağlantı güncelleştirme radyo düğmesini destekler.
OLEUPDATE_ONCALL Bağlı öğeyi yalnızca kapsayıcı uygulamasından gelen istek üzerine güncelleştirin (UpdateLink üye işlevi çağrıldığında). Bu seçenek, Bağlantılar iletişim kutusundaki El ile bağlantı güncelleştirme radyo düğmesini destekler.
Genellikle, Bağlantılar iletişim kutusunda kullanıcı tarafından seçilen güncelleştirme seçeneklerini değiştirmemelisiniz.
Daha fazla bilgi için bkz . Windows SDK'sında IOleLink::SetUpdateOptions .
Bu öğe için yazdırma hedefi cihazını değiştirmek için bu işlevi çağırın.
BOOL SetPrintDevice(const DVTARGETDEVICE* ptd);
BOOL SetPrintDevice(const PRINTDLG* ppd);
ptd
Yeni yazdırma hedefi cihazı hakkında bilgi içeren DVTARGETDEVICE veri yapısının işaretçisi. NULL olabilir.
Ppd
Yeni yazdırma hedefi cihazı hakkında bilgi içeren PRINTDLG veri yapısının işaretçisi. NULL olabilir.
İşlev başarılı olursa sıfır olmayan; aksi takdirde 0.
Bu işlev, öğenin yazdırma hedefi cihazını güncelleştirir, ancak sunu önbelleğini yenilemez. Bir öğenin sunu önbelleğini güncelleştirmek için UpdateLink'i çağırın.
Bu işlevin bağımsız değişkenleri, OLE sisteminin hedef cihazı tanımlamak için kullandığı bilgileri içerir. Yapı, PRINTDLG
Windows'un ortak Yazdırma iletişim kutusunu başlatmak için kullandığı bilgileri içerir. Kullanıcı iletişim kutusunu kapattıktan sonra Windows, kullanıcının bu yapıdaki seçimleri hakkında bilgi döndürür. m_pd
CPrintDialog nesnesinin üyesi bir PRINTDLG
yapıdır.
Bu yapı hakkında daha fazla bilgi için bkz . Windows SDK'sında PRINTDLG .
Daha fazla bilgi için bkz . Windows SDK'sında DVTARGETDEVICE .
OLE öğesinin sunu verilerini hemen güncelleştirmek için bu işlevi çağırın.
BOOL UpdateLink();
Başarıda sıfır olmayan; aksi takdirde 0.
bağlı öğeler için işlev, OLE öğesi için yeni bir sunu elde etmek için bağlantı kaynağını bulur. Bu işlem bir veya daha fazla sunucu uygulaması çalıştırmayı içerebilir ve bu da zaman alabilir. Ekli öğeler için işlev özyinelemeli olarak çalışır, ekli öğenin güncel olmayan bağlantılar içerip içermediğini denetler ve bunları güncelleştirir. Kullanıcı, Bağlantılar iletişim kutusunu kullanarak tek tek bağlantıları el ile de güncelleştirebilir.
Daha fazla bilgi için bkz . Windows SDK'sında IOleLink::Update .
MFC Örnek MFCBIND
MFC Örnek OCLIENT
CDocItem Sınıfı
Hiyerarşi Grafiği
COleServerItem Sınıfı