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
Veri Akışı Adı | Açıklama |
---|---|
COleDropTarget::COleDropTarget | Bir COleDropTarget nesne oluşturur. |
Genel Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
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 COleDropTarget
CWnd
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
COleDropTarget
Gereksinimler
Üst bilgi: afxole.h
COleDropTarget::COleDropTarget
sınıfının COleDropTarget
nesnesini 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.
Dönüş 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.
Dönüş 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.
Dönüş 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.
Dönüş 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.
Dönüş 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.
Dönüş 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ı