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
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::QueryContinueDrag
bası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