Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Megjegyzés:
A Microsoft Foundation Classes (MFC) könyvtár továbbra is támogatott. A továbbiakban azonban nem adunk hozzá funkciókat, és nem frissítjük a dokumentációt.
Lehetővé teszi, hogy az adatok áthúzhatók legyenek a cél célhelyeire.
Szemantika
class COleDropSource : public CCmdTarget
Tagok
Nyilvános konstruktorok
| Név | Description |
|---|---|
| COleDropSource::COleDropSource | Egy COleDropSource objektumot hoz létre. |
Nyilvános metódusok
| Név | Description |
|---|---|
| COleDropSource::GiveFeedback | Húzza a kurzort egy húzási művelet során. |
| COleDropSource::OnBeginDrag | Az egérrögzítést egy húzási művelet során kezeli. |
| COleDropSource::QueryContinueDrag | Ellenőrzi, hogy folytatódjon-e a húzás. |
Megjegyzések
A COleDropTarget osztály kezeli a húzási művelet fogadó részét. Az COleDropSource objektum feladata annak meghatározása, hogy mikor kezdődik el egy húzási művelet, visszajelzést ad a húzási művelet során, és meghatározza, hogy mikor fejeződik be a húzási művelet.
Objektum használatához COleDropSource hívja meg a konstruktort. Ez leegyszerűsíti annak a folyamatnak a meghatározását, hogy milyen események, például egérkattintás esetén kezdődnek a húzási műveletek a COleDataSource::D oDragDrop, COleClientItem::D oDragDrop vagy COleServerItem::D oDragDrop függvény használatával. Ezek a függvények létrehoznak egy COleDropSource objektumot. Előfordulhat, hogy módosítani szeretné a felülírható függvények alapértelmezett viselkedését COleDropSource . Ezeket a tagfüggvényeket a keretrendszer a megfelelő időpontokban hívja meg.
Az OLE használatával végzett húzási műveletekről további információt az OLE húzással foglalkozó cikkben talál.
További információ: IDropSource a Windows SDK-ban.
Öröklési hierarchia
COleDropSource
Requirements
Fejléc: afxole.h
COleDropSource::COleDropSource
Egy COleDropSource objektumot hoz létre.
COleDropSource();
COleDropSource::GiveFeedback
A keretrendszer meghívta a COleDropTarget::OnDragOver vagy COleDropTarget::D ragEnter hívását követően.
virtual SCODE GiveFeedback(DROPEFFECT dropEffect);
Paraméterek
dropEffect
A felhasználó számára megjeleníteni kívánt hatás, amely általában azt jelzi, hogy mi történne, ha a kiválasztott adatokkal egy adott időpontban esés történne. Ez általában a CView::OnDragEnter vagy CView::OnDragOver legutóbbi hívása által visszaadott érték. Az alábbiak közül egy vagy több lehet:
DROPEFFECT_NONE Egy csepp nem engedélyezett.
DROPEFFECT_COPY másolási műveletet hajtanak végre.
DROPEFFECT_MOVE Áthelyezési műveletet hajtanak végre.
DROPEFFECT_LINK Létrejön egy hivatkozás az elvetett adatokról az eredeti adatokra.
DROPEFFECT_SCROLL Egy húzási görgetési művelet készül, vagy a célban történik.
Visszaadott érték
Ha a húzás folyamatban van, akkor DRAGDROP_S_USEDEFAULTCURSORS a NOERROR értéket adja vissza, ha nem.
Megjegyzések
Bírálja felül ezt a függvényt, hogy visszajelzést küldjön a felhasználónak arról, hogy mi történne, ha egy esés történne ezen a ponton. Az alapértelmezett implementáció az OLE alapértelmezett kurzorait használja. Az OLE használatával végzett húzási műveletekről további információt az OLE húzással foglalkozó cikkben talál.
További információ: IDropSource::GiveFeedback, IDropTarget::D ragOver és IDropTarget::D ragEnter a Windows SDK-ban.
COleDropSource::OnBeginDrag
A keretrendszer meghívta, amikor olyan esemény történik, amely elindíthat egy húzási műveletet, például a bal egérgomb lenyomásával.
virtual BOOL OnBeginDrag(CWnd* pWnd);
Paraméterek
pWnd
A kijelölt adatokat tartalmazó ablakra mutat.
Visszaadott érték
Nonzero, ha a húzás engedélyezett, ellenkező esetben 0.
Megjegyzések
Bírálja felül ezt a függvényt, ha módosítani szeretné a húzási folyamat indításának módját. Az alapértelmezett implementáció rögzíti az egeret, és addig húzási módban marad, amíg a felhasználó nem kattint a bal vagy a jobb egér gombjára, vagy el nem éri az ESC-t, amikor felengedi az egeret.
COleDropSource::QueryContinueDrag
A húzás elkezdése után ezt a függvényt a keretrendszer ismételten meghívja, amíg a húzási művelet nem fejeződik be vagy megszakad.
virtual SCODE QueryContinueDrag(
BOOL bEscapePressed,
DWORD dwKeyState);
Paraméterek
bEscapePressed
Azt jelzi, hogy az ESC-kulcs lenyomva lett-e a legutóbbi hívás COleDropSource::QueryContinueDragóta.
dwKeyState
A billentyűzet módosítóbillentyűinek állapotát tartalmazza. Ez a következők tetszőleges számának kombinációja: MK_CONTROL, MK_SHIFT, MK_ALT, MK_LBUTTON, MK_MBUTTON és MK_RBUTTON.
Visszaadott érték
DRAGDROP_S_CANCEL ha az ESC billentyűt vagy a jobb gombot lenyomja, vagy a bal gomb a húzás megkezdése előtt fel van emelve. DRAGDROP_S_DROP, hogy szükség van-e dobási műveletre. Ellenkező esetben S_OK.
Megjegyzések
Felülbírálhatja ezt a függvényt, ha módosítani szeretné a húzás megszakításának vagy egy ugrásnak a pontját.
Az alapértelmezett implementáció az alábbiak szerint kezdeményezi a lehúzást, vagy megszakítja a húzást. Az ESC billentyű vagy a jobb egérgomb lenyomásakor megszakítja az húzási műveletet. A művelet akkor indít el egy műveletet, ha a bal egérgomb a húzás megkezdése után fel van emelve. Ellenkező esetben S_OK ad vissza, és nem végez további műveleteket.
Mivel ezt a függvényt gyakran hívják, a lehető legnagyobb mértékben optimalizálni kell.
Lásd még
MFC-minta HIERSVR
MFC-minta OCLIENT
CCmdTarget osztály
hierarchiadiagram