Aracılığıyla paylaş


COleDropSource Sınıfı

Verilerin bir bırakma hedefine sürüklenmesini sağlar.

Sözdizimi

class COleDropSource : public CCmdTarget

Üyeler

Ortak Oluşturucular

Veri Akışı Adı Açıklama
COleDropSource::COleDropSource Bir COleDropSource nesne oluşturur.

Genel Yöntemler

Veri Akışı Adı Açıklama
COleDropSource::GiveFeedback Sürükle ve bırak işlemi sırasında imleci değiştirir.
COleDropSource::OnBeginDrag Sürükle ve bırak işlemi sırasında fare yakalamayı işler.
COleDropSource::QueryContinueDrag Sürüklemenin devam edip etmeyeceğini denetler.

Açıklamalar

COleDropTarget sınıfı, sürükle ve bırak işleminin alıcı kısmını işler. Nesne COleDropSource , sürükleme işleminin ne zaman başladığını belirlemek, sürükleme işlemi sırasında geri bildirim sağlamak ve sürükleme işleminin ne zaman bittiğini belirlemekle sorumludur.

Bir COleDropSource nesneyi kullanmak için oluşturucuyu çağırmanız gerekir. Bu, fare tıklaması gibi hangi olayların COleDataSource::D oDragDrop, COleClientItem::D oDragDrop veya COleServerItem::D oDragDrop işlevini kullanarak sürükleme işlemi başlatma işlemini basitleştirir. Bu işlevler sizin için bir COleDropSource nesne oluşturur. Geçersiz kılınabilir işlevlerin varsayılan davranışını COleDropSource değiştirmek isteyebilirsiniz. Bu üye işlevleri, çerçeve tarafından uygun zamanlarda çağrılır.

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.

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

Devralma Hiyerarşisi

CObject

CCmdTarget

COleDropSource

Gereksinimler

Üst bilgi: afxole.h

COleDropSource::COleDropSource

Bir COleDropSource nesne oluşturur.

COleDropSource();

COleDropSource::GiveFeedback

COleDropTarget::OnDragOver veya COleDropTarget::D ragEnter çağrıldıktan sonra çerçeve tarafından çağrılır.

virtual SCODE GiveFeedback(DROPEFFECT dropEffect);

Parametreler

dropEffect
Kullanıcıya göstermek istediğiniz etki, genellikle seçilen verilerle bu noktada bir bırakma meydana gelirse ne olacağını gösterir. Bu genellikle CView::OnDragEnter veya CView::OnDragOver'a yapılan en son çağrı tarafından döndürülen değerdir. 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.

Dönüş Değeri

Sürükleme devam ediyorsa DRAGDROP_S_USEDEFAULTCURSORS, değilse HAYIROR döndürür.

Açıklamalar

Kullanıcıya bu noktada bir bırakma olursa ne olacağı hakkında geri bildirim sağlamak için bu işlevi geçersiz kılın. Varsayılan uygulama, OLE varsayılan imleçlerini kullanır. 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.

Daha fazla bilgi için bkz . Windows SDK'sında IDropSource::GiveFeedback, IDropTarget::D ragOver ve IDropTarget::D ragEnter .

COleDropSource::OnBeginDrag

Sol fare düğmesine basmak gibi bir sürükleme işlemi başlatabilecek bir olay oluştuğunda çerçeve tarafından çağrılır.

virtual BOOL OnBeginDrag(CWnd* pWnd);

Parametreler

pWnd
Seçili verileri içeren pencereyi gösterir.

Dönüş Değeri

Sürüklemeye izin veriliyorsa sıfır olmayan, aksi takdirde 0.

Açıklamalar

Sürükleme işleminin başlama şeklini değiştirmek istiyorsanız bu işlevi geçersiz kılın. Varsayılan uygulama fareyi yakalar ve kullanıcı sol veya sağ fare düğmesine tıklayana veya ESC tuşuna basana kadar sürükleme modunda kalır ve bu sırada fareyi serbest bırakır.

COleDropSource::QueryContinueDrag

Sürükleme başladıktan sonra, sürükleme işlemi iptal edilene veya tamamlanana kadar bu işlev çerçeve tarafından art arda çağrılır.

virtual SCODE QueryContinueDrag(
    BOOL bEscapePressed,
    DWORD dwKeyState);

Parametreler

bEscapePressed
öğesine yapılan son çağrıdan sonra ESC tuşuna COleDropSource::QueryContinueDragbasılıp basılmadığını belirtir.

dwKeyState
Klavyedeki değiştirici tuşları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.

Dönüş Değeri

ESC tuşuna veya sağ düğmesine basılıp basılamadığını veya sürükleme başlamadan önce sol düğmeye basılıp kaldırıldığını DRAGDROP_S_CANCEL. Bırakma işleminin gerçekleşip gerçekleşmediğini DRAGDROP_S_DROP. Aksi takdirde S_OK.

Açıklamalar

Sürüklemenin iptal edileceği veya bırakmanın gerçekleştiği noktayı değiştirmek istiyorsanız bu işlevi geçersiz kılın.

Varsayılan uygulama, bırakma işlemini başlatır veya sürüklemeyi aşağıdaki gibi iptal eder. ESC tuşuna veya sağ fare düğmesine basıldığında sürükleme işlemini iptal eder. Sürükleme başlatıldıktan sonra sol fare düğmesi açıldığında bırakma işlemi başlatır. Aksi takdirde, S_OK döndürür ve başka işlem gerçekleştirmez.

Bu işlev sık sık çağrıldığından mümkün olduğunca iyileştirilmiş olmalıdır.

Ayrıca bkz.

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