Aracılığıyla paylaş


COleDropTarget Sınıfı

Pencere ile OLE kitaplıkları arasındaki iletişim mekanizmasını sağlar.

Sözdizimi

class COleDropTarget : public CCmdTarget

Üyeler

Ortak Oluşturucular

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

Genel Yöntemler

Ad Tanım
COleDropTarget::OnDragEnter İmleç pencereye ilk girdiğinde çağrılır.
COleDropTarget::OnDragLeave İmleç pencereden dışarı sürüklendiğinde çağrılır.
COleDropTarget::OnDragOver İmleç pencerenin üzerine sürüklendiğinde art arda çağrılır.
COleDropTarget::OnDragScroll İmlecin pencerenin kaydırma bölgesine sürüklenip sürüklenmediğini belirlemek için çağrılır.
COleDropTarget::OnDrop Veriler pencereye bırakıldığında çağrılır, varsayılan işleyici.
COleDropTarget::OnDropEx Veriler pencereye bırakıldığında çağrılır, ilk işleyici.
COleDropTarget::Register Pencereyi geçerli bir bırakma hedefi olarak kaydeder.
COleDropTarget::Revoke Pencerenin geçerli bir bırakma hedefi olmaktan çıkmasına neden olur.

Açıklamalar

Bu sınıfın nesnesini oluşturmak, bir pencerenin OLE sürükle ve bırak mekanizması aracılığıyla verileri kabul etmesine olanak tanır.

Bırakma komutlarını kabul etmek için bir pencere almak için, önce sınıfının bir nesnesini oluşturmanız ve ardından istenen nesnenin COleDropTargetCWnd işaretçisini tek parametre olarak kullanarak Register işlevini çağırmanız gerekir.

OLE kullanarak sürükle ve bırak işlemleri hakkında daha fazla bilgi için OLE sürükleme ve bırakma makalesine bakın.

Devralma Hiyerarşisi

Cobject

Ccmdtarget

COleDropTarget

Gereksinimler

Üst bilgi: afxole.h

COleDropTarget::COleDropTarget

sınıfının COleDropTargetnesnesini oluşturur.

COleDropTarget();

Açıklamalar

Bu nesneyi bir pencereyle ilişkilendirmek için Register çağrısı yapın.

COleDropTarget::OnDragEnter

İmleç pencereye ilk sürüklendiğinde çerçeve tarafından çağrılır.

virtual DROPEFFECT OnDragEnter(
    CWnd* pWnd,
    COleDataObject* pDataObject,
    DWORD dwKeyState,
    CPoint point);

Parametreler

Pwnd
İmlecin girdiği pencereyi gösterir.

pDataObject
Bırakılabilir verileri içeren veri nesnesine işaret ediyor.

dwKeyState
Değiştirici anahtarların durumunu içerir. Bu, aşağıdaki sayılardan herhangi birinin birleşimidir: MK_CONTROL, MK_SHIFT, MK_ALT, MK_LBUTTON, MK_MBUTTON ve MK_RBUTTON.

Nokta
İmlecin geçerli konumunu istemci koordinatlarında içerir.

İade Değeri

Nokta ile belirtilen konumda bir bırakma denenirse ortaya çıkan etki. Aşağıdakilerden biri veya daha fazlası olabilir:

  • DROPEFFECT_NONE Bırakmaya izin verilmez.

  • DROPEFFECT_COPY Kopyalama işlemi gerçekleştirilir.

  • DROPEFFECT_MOVE Taşıma işlemi gerçekleştirilir.

  • DROPEFFECT_LINK Bırakılan verilerden özgün verilere bir bağlantı oluşturulur.

  • DROPEFFECT_SCROLL Sürükleme kaydırma işlemi gerçekleşmek üzere veya hedefte gerçekleşiyor.

Açıklamalar

Pencerede bırakma işlemlerinin gerçekleşmesine izin vermek için bu işlevi geçersiz kılın. Varsayılan uygulama, varsayılan olarak DROPEFFECT_NONE döndüren CView::OnDragEnter'ı çağırır.

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

COleDropTarget::OnDragLeave

İmleç bir sürükleme işlemi etkinken pencereden ayrıldığında çerçeve tarafından çağrılır.

virtual void OnDragLeave(CWnd* pWnd);

Parametreler

Pwnd
İmlecin ayrıldığı pencereyi gösterir.

Açıklamalar

Sürükleme işlemi belirtilen pencereden ayrıldığında özel bir davranış istiyorsanız bu işlevi geçersiz kılın. Bu işlevin varsayılan uygulaması CView::OnDragLeave öğesini çağırır.

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

COleDropTarget::OnDragOver

İmleç pencerenin üzerine sürüklendiğinde çerçeve tarafından çağrılır.

virtual DROPEFFECT OnDragOver(
    CWnd* pWnd,
    COleDataObject* pDataObject,
    DWORD dwKeyState,
    CPoint point);

Parametreler

Pwnd
İmlecin üzerinde olduğu pencereyi gösterir.

pDataObject
Bırakılacak verileri içeren veri nesnesini gösterir.

dwKeyState
Değiştirici anahtarların durumunu içerir. Bu, aşağıdaki sayılardan herhangi birinin birleşimidir: MK_CONTROL, MK_SHIFT, MK_ALT, MK_LBUTTON, MK_MBUTTON ve MK_RBUTTON.

Nokta
İmlecin geçerli konumunu istemci koordinatlarında içerir.

İade Değeri

Nokta ile belirtilen konumda bir bırakma denenirse ortaya çıkan etki. Aşağıdakilerden biri veya daha fazlası olabilir:

  • DROPEFFECT_NONE Bırakmaya izin verilmez.

  • DROPEFFECT_COPY Kopyalama işlemi gerçekleştirilir.

  • DROPEFFECT_MOVE Taşıma işlemi gerçekleştirilir.

  • DROPEFFECT_LINK Bırakılan verilerden özgün verilere bir bağlantı oluşturulur.

  • DROPEFFECT_SCROLL Bir sürükleme kaydırma işleminin gerçekleşmek üzere olduğunu veya hedefte oluştuğunu gösterir.

Açıklamalar

Pencerede bırakma işlemlerinin gerçekleşmesine izin vermek için bu işlev geçersiz kılınmalıdır. Bu işlevin varsayılan uygulaması, varsayılan olarak DROPEFFECT_NONE döndüren CView::OnDragOver'ı çağırır. Bu işlev sürükle ve bırak işlemi sırasında sık sık çağrıldığından, mümkün olduğunca iyileştirilmiş olmalıdır.

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

Örnek

DROPEFFECT COleContainerView::OnDragOver(COleDataObject* pDataObject,
   DWORD dwKeyState, CPoint point)
{
   UNREFERENCED_PARAMETER(pDataObject);
   UNREFERENCED_PARAMETER(point);

   DROPEFFECT de = DROPEFFECT_NONE;
   //Determine the type of operation
   if ((dwKeyState & MK_SHIFT) && (dwKeyState & MK_CONTROL))
      de = DROPEFFECT_LINK;
   else if (dwKeyState & MK_CONTROL)
      de = DROPEFFECT_COPY;
   else if (dwKeyState & MK_SHIFT)
      de = DROPEFFECT_MOVE;
   return de;
}

COleDropTarget::OnDragScroll

Noktanın kaydırma bölgesinde olup olmadığını belirlemek için OnDragEnter veya OnDragOver çağrılmadan önce çerçeve tarafından çağrılır.

virtual DROPEFFECT OnDragScroll(
    CWnd* pWnd,
    DWORD dwKeyState,
    CPoint point);

Parametreler

Pwnd
İmlecin şu anda üzerinde olduğu pencereyi gösterir.

dwKeyState
Değiştirici anahtarların durumunu içerir. Bu, aşağıdaki sayılardan herhangi birinin birleşimidir: MK_CONTROL, MK_SHIFT, MK_ALT, MK_LBUTTON, MK_MBUTTON ve MK_RBUTTON.

Nokta
İmlecin ekrana göre piksel cinsinden konumunu içerir.

İade Değeri

Nokta ile belirtilen konumda bir bırakma denenirse ortaya çıkan etki. Aşağıdakilerden biri veya daha fazlası olabilir:

  • DROPEFFECT_NONE Bırakmaya izin verilmez.

  • DROPEFFECT_COPY Kopyalama işlemi gerçekleştirilir.

  • DROPEFFECT_MOVE Taşıma işlemi gerçekleştirilir.

  • DROPEFFECT_LINK Bırakılan verilerden özgün verilere bir bağlantı oluşturulur.

  • DROPEFFECT_SCROLL Bir sürükleme kaydırma işleminin gerçekleşmek üzere olduğunu veya hedefte oluştuğunu gösterir.

Açıklamalar

Bu olay için özel davranış sağlamak istediğinizde bu işlevi geçersiz kılın. Bu işlevin varsayılan uygulaması CView::OnDragScroll'u çağırır; bu da DROPEFFECT_NONE döndürür ve imleç pencerenin kenarlık içindeki varsayılan kaydırma bölgesine sürüklendiğinde pencereyi kaydırıyor.

COleDropTarget::OnDrop

Bırakma işlemi gerçekleştirilirken çerçeve tarafından çağrılır.

virtual BOOL OnDrop(
    CWnd* pWnd,
    COleDataObject* pDataObject,
    DROPEFFECT dropEffect,
    CPoint point);

Parametreler

Pwnd
İmlecin şu anda üzerinde olduğu pencereyi gösterir.

pDataObject
Bırakılacak verileri içeren veri nesnesini gösterir.

dropEffect
Kullanıcının bırakma işlemi için seçtiği etki. Aşağıdakilerden biri veya daha fazlası olabilir:

  • DROPEFFECT_COPY Kopyalama işlemi gerçekleştirilir.

  • DROPEFFECT_MOVE Taşıma işlemi gerçekleştirilir.

  • DROPEFFECT_LINK Bırakılan verilerden özgün verilere bir bağlantı oluşturulur.

Nokta
İmlecin ekrana göre piksel cinsinden konumunu içerir.

İade Değeri

Bırakma başarılı olursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Çerçeve ilk olarak OnDropEx'i çağırır. İşlev bırakma işlemini OnDropEx işlemezse, çerçeve bu üye işlevini çağırır. OnDrop Genellikle uygulama, sağ fare düğmesi sürükleme ve bırakma işlemlerini işlemek için görünüm sınıfında OnDropEx'i geçersiz kılar. Normalde, Basit sürükle ve bırak işlemini işlemek için OnDrop görünüm sınıfı kullanılır.

Varsayılan uygulamasıCOleDropTarget::OnDrop, varsayılan olarak YANLIŞ döndüren CView::OnDrop çağrılarını çağırır.

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

COleDropTarget::OnDropEx

Bırakma işlemi gerçekleştirilirken çerçeve tarafından çağrılır.

virtual DROPEFFECT OnDropEx(
    CWnd* pWnd,
    COleDataObject* pDataObject,
    DROPEFFECT dropDefault,
    DROPEFFECT dropList,
    CPoint point);

Parametreler

Pwnd
İmlecin şu anda üzerinde olduğu pencereyi gösterir.

pDataObject
Bırakılacak verileri içeren veri nesnesini gösterir.

dropDefault
Kullanıcının geçerli anahtar durumuna göre varsayılan bırakma işlemi için seçtiği etki. DROPEFFECT_NONE olabilir. Bırakma efektleri Açıklamalar bölümünde ele alınıyor.

dropList
Bırakma kaynağının desteklediği bırakma efektlerinin listesi. Bırakma efekti değerleri bit düzeyinde OR (|) işlemi kullanılarak birleştirilebilir. Bırakma efektleri Açıklamalar bölümünde ele alınıyor.

Nokta
İmlecin ekrana göre piksel cinsinden konumunu içerir.

İade Değeri

Noktayla belirtilen konumda bırakma denemesinden kaynaklanan bırakma efekti. Bırakma efektleri Açıklamalar bölümünde ele alınıyor.

Açıklamalar

Çerçeve ilk olarak bu işlevi çağırır. Bırakma işlemini işlemezse, çerçeve OnDrop'ı çağırır. Genellikle, sağ fare düğmesi sürükle ve bırak özelliğini desteklemek için görünüm sınıfında OnDropEx'i geçersiz kılarsınız. Genellikle, basit sürükle ve bırak desteğinin büyük/küçük harfle işlenmesi için OnDrop görünüm sınıfı kullanılır.

Varsayılan uygulaması COleDropTarget::OnDropEx CView::OnDropEx çağrılarını çağırır. Varsayılan olarak, CView::OnDropEx yalnızca OnDrop üye işlevinin çağrılması gerektiğini belirtmek için işlev dışı bir değer döndürür.

Bırakma efektleri, bırakma işlemiyle ilişkili eylemi açıklar. Aşağıdaki bırakma efektleri listesine bakın:

  • DROPEFFECT_NONE Bırakmaya izin verilmez.

  • DROPEFFECT_COPY Kopyalama işlemi gerçekleştirilir.

  • DROPEFFECT_MOVE Taşıma işlemi gerçekleştirilir.

  • DROPEFFECT_LINK Bırakılan verilerden özgün verilere bir bağlantı oluşturulur.

  • DROPEFFECT_SCROLL Bir sürükleme kaydırma işleminin gerçekleşmek üzere olduğunu veya hedefte oluştuğunu gösterir.

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

COleDropTarget::Register

Pencerenizi OLE DLL'lerine geçerli bir bırakma hedefi olarak kaydetmek için bu işlevi çağırın.

BOOL Register(CWnd* pWnd);

Parametreler

Pwnd
Bırakma hedefi olarak kaydedilecek pencereyi gösterir.

İade Değeri

Kayıt başarılı olursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Bırakma işlemlerinin kabul edilmesi için bu işlev çağrılmalıdır.

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

COleDropTarget::Revoke

Bırakma hedefleri listesinden kaldırmak için Register çağrısı aracılığıyla bırakma hedefi olarak kaydedilmiş herhangi bir pencereyi yok etmeden önce bu işlevi çağırın.

virtual void Revoke();

Açıklamalar

Bu işlev, kaydedilen pencere için OnDestroy işleyicisinden otomatik olarak çağrılır, bu nedenle bu işlevin açıkça çağrılması genellikle gerekli değildir.

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

Ayrıca bkz.

MFC Örnek HIERSVR
MFC Örnek OCLIENT
CCmdTarget Sınıfı
Hiyerarşi Grafiği
COleDropSource Sınıfı