Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Umożliwia przeciąganie danych do miejsca docelowego upuszczania.
Składnia
class COleDropSource : public CCmdTarget
Elementy członkowskie
Konstruktory publiczne
| Nazwa/nazwisko | opis |
|---|---|
| COleDropSource::COleDropSource | COleDropSource Tworzy obiekt. |
Metody publiczne
| Nazwa/nazwisko | opis |
|---|---|
| COleDropSource::GiveFeedback | Zmienia kursor podczas operacji przeciągania i upuszczania. |
| COleDropSource::OnBegindrag | Obsługuje przechwytywanie myszy podczas operacji przeciągania i upuszczania. |
| COleDropSource::QueryContinueDrag | Sprawdza, czy przeciąganie powinno być kontynuowane. |
Uwagi
Klasa COleDropTarget obsługuje część odbieraną operacji przeciągania i upuszczania. Obiekt COleDropSource jest odpowiedzialny za określenie, kiedy rozpoczyna się operacja przeciągania, przekazywanie opinii podczas operacji przeciągania i określanie, kiedy kończy się operacja przeciągania.
Aby użyć COleDropSource obiektu, po prostu wywołaj konstruktor. Upraszcza to proces określania zdarzeń, takich jak kliknięcie myszą, rozpoczynanie operacji przeciągania przy użyciu funkcji COleDataSource::D oDragDrop, COleClientItem::D oDragDrop lub COleServerItem::D oDragDrop. Te funkcje spowodują utworzenie COleDropSource obiektu. Może być konieczne zmodyfikowanie domyślnego COleDropSource zachowania funkcji, które można zastąpić. Te funkcje składowe będą wywoływane w odpowiednim czasie przez strukturę.
Aby uzyskać więcej informacji na temat operacji przeciągania i upuszczania przy użyciu ole, zobacz artykuł Przeciąganie i upuszczanie OLE.
Aby uzyskać więcej informacji, zobacz IDropSource w zestawie Windows SDK.
Hierarchia dziedziczenia
COleDropSource
Wymagania
Nagłówek: afxole.h
COleDropSource::COleDropSource
COleDropSource Tworzy obiekt.
COleDropSource();
COleDropSource::GiveFeedback
Wywoływana przez platformę po wywołaniu metody COleDropTarget::OnDragOver lub COleDropTarget::D ragEnter.
virtual SCODE GiveFeedback(DROPEFFECT dropEffect);
Parametry
dropEffect
Efekt, który chcesz wyświetlić użytkownikowi, zwykle wskazując, co się stanie, jeśli w tym momencie wystąpił spadek z wybranymi danymi. Zazwyczaj jest to wartość zwracana przez najnowsze wywołanie obiektu CView::OnDragEnter lub CView::OnDragOver. Może to być co najmniej jeden z następujących elementów:
DROPEFFECT_NONE Spadek nie będzie dozwolony.
DROPEFFECT_COPY zostanie wykonana operacja kopiowania.
DROPEFFECT_MOVE Zostanie wykonana operacja przenoszenia.
DROPEFFECT_LINK Zostanie ustanowione łącze z porzuconych danych do oryginalnych danych.
DROPEFFECT_SCROLL Operacja przewijania przeciągania ma miejsce lub występuje w obiekcie docelowym.
Wartość zwracana
Zwraca DRAGDROP_S_USEDEFAULTCURSORS, jeśli przeciąganie jest w toku, NOERROR, jeśli nie jest.
Uwagi
Zastąpi tę funkcję, aby przekazać użytkownikowi opinię na temat tego, co się stanie w przypadku wystąpienia spadku w tym momencie. Domyślna implementacja używa domyślnych kursorów OLE. Aby uzyskać więcej informacji na temat operacji przeciągania i upuszczania przy użyciu ole, zobacz artykuł Przeciąganie i upuszczanie OLE.
Aby uzyskać więcej informacji, zobacz IDropSource::GiveFeedback, IDropTarget::D ragOver i IDropTarget::D ragEnter w zestawie Windows SDK.
COleDropSource::OnBegindrag
Wywoływana przez platformę, gdy wystąpi zdarzenie, które może rozpocząć operację przeciągania, na przykład naciśnięcie lewego przycisku myszy.
virtual BOOL OnBeginDrag(CWnd* pWnd);
Parametry
pWnd
Wskazuje okno zawierające wybrane dane.
Wartość zwracana
Bezzerowe, jeśli przeciąganie jest dozwolone, w przeciwnym razie 0.
Uwagi
Zastąpi tę funkcję, jeśli chcesz zmodyfikować sposób uruchamiania procesu przeciągania. Domyślna implementacja przechwytuje mysz i pozostaje w trybie przeciągania, aż użytkownik kliknie lewy lub prawy przycisk myszy lub uderza ESC, w którym momencie zwalnia mysz.
COleDropSource::QueryContinueDrag
Po rozpoczęciu przeciągania ta funkcja jest wywoływana wielokrotnie przez strukturę do momentu anulowania lub ukończenia operacji przeciągania.
virtual SCODE QueryContinueDrag(
BOOL bEscapePressed,
DWORD dwKeyState);
Parametry
bEscapePressed
Określa, czy ESC został naciśnięty od ostatniego wywołania metody COleDropSource::QueryContinueDrag.
dwKeyState
Zawiera stan modyfikatora na klawiaturze. Jest to kombinacja dowolnej liczby następujących elementów: MK_CONTROL, MK_SHIFT, MK_ALT, MK_LBUTTON, MK_MBUTTON i MK_RBUTTON.
Wartość zwracana
DRAGDROP_S_CANCEL, jeśli naciśnięcie ESC lub prawego przycisku lub lewego przycisku zostanie podniesione przed przeciągnięciem. DRAGDROP_S_DROP, jeśli powinna wystąpić operacja upuszczania. W przeciwnym razie S_OK.
Uwagi
Zastąpi tę funkcję, jeśli chcesz zmienić punkt, w którym przeciąganie jest anulowane lub występuje spadek.
Domyślna implementacja inicjuje upuszczanie lub anuluje przeciąganie w następujący sposób. Anuluje operację przeciągania po naciśnięciu ESC lub prawego przycisku myszy. Inicjuje operację upuszczania, gdy lewy przycisk myszy zostanie podniesiony po rozpoczęciu przeciągania. W przeciwnym razie zwraca S_OK i nie wykonuje żadnych dalszych operacji.
Ponieważ ta funkcja jest często wywoływana, powinna być zoptymalizowana jak najwięcej.
Zobacz też
Przykład MFC HIERSVR
Przykład MFC OCLIENT
Klasa CCmdTarget
Wykres hierarchii