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.
Biztosítja az ablak és az OLE-kódtárak közötti kommunikációs mechanizmust.
Szemantika
class COleDropTarget : public CCmdTarget
Tagok
Nyilvános konstruktorok
| Név | Description |
|---|---|
| COleDropTarget::COleDropTarget | Egy COleDropTarget objektumot hoz létre. |
Nyilvános metódusok
| Név | Description |
|---|---|
| COleDropTarget::OnDragEnter | Akkor hívjuk meg, amikor a kurzor először belép az ablakba. |
| COleDropTarget::OnDragLeave | A kurzor az ablakból való húzásakor hívható meg. |
| COleDropTarget::OnDragOver | Ismétlődő hívás, amikor a kurzort az ablak fölé húzza. |
| COleDropTarget::OnDragScroll | Annak megállapításához, hogy a kurzor az ablak görgetési régiójába van-e húzva. |
| COleDropTarget::OnDrop | Az alapértelmezett kezelő az adatok ablakba dobásakor hívható meg. |
| COleDropTarget::OnDropEx | Az első kezelő az adatok ablakba dobásakor hívható meg. |
| COleDropTarget::Regisztráció | Érvényes célként regisztrálja az ablakot. |
| COleDropTarget::Visszavonás | Ez azt eredményezi, hogy az ablak már nem érvényes dobási cél. |
Megjegyzések
Az osztály objektumának létrehozása lehetővé teszi, hogy az ablakok az OLE húzási mechanizmuson keresztül fogadják el az adatokat.
Ahhoz, hogy egy ablak fogadja el az elvetési parancsokat, először létre kell hoznia egy objektumot az COleDropTarget osztályból, majd egyetlen paraméterként meg kell hívnia a Register függvényt a kívánt CWnd objektumra mutató mutatóval.
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.
Öröklési hierarchia
COleDropTarget
Requirements
Fejléc: afxole.h
COleDropTarget::COleDropTarget
Osztályobjektumot COleDropTargethoz létre.
COleDropTarget();
Megjegyzések
Az objektum ablakhoz való társításához hívja meg a Register billentyűt.
COleDropTarget::OnDragEnter
A keretrendszer meghívja, amikor a kurzor először az ablakba húzódik.
virtual DROPEFFECT OnDragEnter(
CWnd* pWnd,
COleDataObject* pDataObject,
DWORD dwKeyState,
CPoint point);
Paraméterek
pWnd
A kurzor által beírt ablakra mutat.
pDataObject
Az eldobott adatokat tartalmazó adatobjektumra mutat.
dwKeyState
A módosító kulcsok á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.
Pont
A kurzor aktuális helyét tartalmazza az ügyfélkoordinátákban.
Visszaadott érték
Az a hatás, amely akkor következne be, ha a pont által megadott helyen kísérelnének meg egy cseppet. 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.
Megjegyzések
Felülbírálja ezt a függvényt, hogy lehetővé tegye az elejtési műveletek végrehajtását az ablakban. Az alapértelmezett implementáció meghívja a CView::OnDragEnter parancsot, amely alapértelmezés szerint DROPEFFECT_NONE ad vissza.
További információ: IDropTarget::D ragEnter a Windows SDK-ban.
COleDropTarget::OnDragLeave
A keretrendszer meghívja, amikor a kurzor elhagyja az ablakot, miközben egy húzási művelet van érvényben.
virtual void OnDragLeave(CWnd* pWnd);
Paraméterek
pWnd
Arra az ablakra mutat, amelyet a kurzor elhagy.
Megjegyzések
Felülbírálja ezt a függvényt, ha különleges viselkedést szeretne, amikor az húzási művelet elhagyja a megadott ablakot. A függvény alapértelmezett implementációja a CView::OnDragLeave függvényt hívja meg.
További információ: IDropTarget::D ragLeave a Windows SDK-ban.
COleDropTarget::OnDragOver
A keretrendszer meghívja, amikor a kurzort az ablak fölé húzza.
virtual DROPEFFECT OnDragOver(
CWnd* pWnd,
COleDataObject* pDataObject,
DWORD dwKeyState,
CPoint point);
Paraméterek
pWnd
Arra az ablakra mutat, amelyen a kurzor túl van.
pDataObject
Az elvetendő adatokat tartalmazó adatobjektumra mutat.
dwKeyState
A módosító kulcsok á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.
Pont
A kurzor aktuális helyét tartalmazza az ügyfélkoordinátákban.
Visszaadott érték
Az a hatás, amely akkor következne be, ha a pont által megadott helyen kísérelnének meg egy cseppet. 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 Azt jelzi, hogy egy húzási görgetési művelet készül vagy a célban történik.
Megjegyzések
Ezt a függvényt felül kell bírálni, hogy lehetővé tegye az elejtési műveletek végrehajtását az ablakban. A függvény alapértelmezett implementációja a CView::OnDragOver, amely alapértelmezés szerint DROPEFFECT_NONE ad vissza. Mivel ezt a függvényt gyakran hívják egy húzási művelet során, a lehető legnagyobb mértékben optimalizálni kell.
További információ: IDropTarget::D ragOver a Windows SDK-ban.
Example
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
A keretrendszer meghívta az OnDragEnter vagy az OnDragOver hívása előtt annak megállapításához, hogy a pont a görgetési régióban van-e.
virtual DROPEFFECT OnDragScroll(
CWnd* pWnd,
DWORD dwKeyState,
CPoint point);
Paraméterek
pWnd
Mutasson arra az ablakra, amelyen a kurzor éppen túl van.
dwKeyState
A módosító kulcsok á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.
Pont
A kurzor helye képpontban, a képernyőhöz viszonyítva.
Visszaadott érték
Az a hatás, amely akkor következne be, ha a pont által megadott helyen kísérelnének meg egy cseppet. 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 Azt jelzi, hogy egy húzási görgetési művelet készül vagy a célban történik.
Megjegyzések
Bírálja felül ezt a függvényt, ha különleges viselkedést szeretne biztosítani ehhez az eseményhez. A függvény alapértelmezett implementációja a CView::OnDragScroll függvényt hívja meg, amely DROPEFFECT_NONE ad vissza, és görgeti az ablakot, amikor a kurzort az alapértelmezett görgetési régióba húzza az ablak szegélyén belül.
COleDropTarget::OnDrop
A keretrendszer meghívja, amikor egy legördülő műveletet kell végrehajtania.
virtual BOOL OnDrop(
CWnd* pWnd,
COleDataObject* pDataObject,
DROPEFFECT dropEffect,
CPoint point);
Paraméterek
pWnd
Mutasson arra az ablakra, amelyen a kurzor éppen túl van.
pDataObject
Az elvetendő adatokat tartalmazó adatobjektumra mutat.
dropEffect
Az a hatás, amelyet a felhasználó az elvetési művelethez választott. Az alábbiak közül egy vagy több lehet:
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.
Pont
A kurzor helye képpontban, a képernyőhöz viszonyítva.
Visszaadott érték
Nonzero, ha az esés sikeres; egyéb esetben 0.
Megjegyzések
A keretrendszer először meghívja az OnDropEx-et. Ha a OnDropEx függvény nem kezeli az elvetést, a keretrendszer ezt a tagfüggvényt hívja meg. OnDrop Az alkalmazás általában felülbírálja az OnDropEx-et a nézetosztályban a jobb egérgomb húzásával és húzásával. Az OnDrop nézetosztály általában egyszerű húzással és húzással kezelhető.
A CView::OnDrop hívások alapértelmezett implementációjaCOleDropTarget::OnDrop, amely alapértelmezés szerint a FALSE értéket adja vissza.
További információ: IDropTarget::D rop a Windows SDK-ban.
COleDropTarget::OnDropEx
A keretrendszer meghívja, amikor egy legördülő műveletet kell végrehajtania.
virtual DROPEFFECT OnDropEx(
CWnd* pWnd,
COleDataObject* pDataObject,
DROPEFFECT dropDefault,
DROPEFFECT dropList,
CPoint point);
Paraméterek
pWnd
Mutasson arra az ablakra, amelyen a kurzor éppen túl van.
pDataObject
Az elvetendő adatokat tartalmazó adatobjektumra mutat.
dropDefault
Az a hatás, amelyet a felhasználó az alapértelmezett csepegtetési művelethez választott az aktuális kulcsállapot alapján. Lehet DROPEFFECT_NONE. A cseppeffektusokat a Megjegyzések szakaszban tárgyaljuk.
dropList
A drop source által támogatott legördülő effektusok listája. A drop effect értékek a bitenkénti OR (|) művelettel kombinálhatók. A cseppeffektusokat a Megjegyzések szakaszban tárgyaljuk.
Pont
A kurzor helye képpontban, a képernyőhöz viszonyítva.
Visszaadott érték
A pont által megadott helyen történt dobási kísérlet eredményeként létrejött drop effect. A cseppeffektusokat a Megjegyzések szakaszban tárgyaljuk.
Megjegyzések
A keretrendszer először meghívja ezt a függvényt. Ha nem kezeli az elvetést, a keretrendszer meghívja az OnDropot. Általában felül fogja bírálni az OnDropEx-et a nézetosztályban, hogy támogassa a jobb egérgombos húzást. Az OnDrop nézetosztály általában az egyszerű húzás támogatásának kezelésére szolgál.
A CView::OnDropEx hívások alapértelmezett implementációjaCOleDropTarget::OnDropEx. Alapértelmezés szerint a CView::OnDropEx egyszerűen egy próbaértéket ad vissza, amely jelzi, hogy az OnDrop tagfüggvényt meg kell hívni.
Az effektusok a drop művelethez társított műveletet írják le. Tekintse meg a legördülő effektusok alábbi listáját:
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 Azt jelzi, hogy egy húzási görgetési művelet készül vagy a célban történik.
További információ: IDropTarget::D rop a Windows SDK-ban.
COleDropTarget::Regisztráció
Hívja meg ezt a függvényt, hogy érvényes célként regisztrálja az ablakot az OLE DLL-ekkel.
BOOL Register(CWnd* pWnd);
Paraméterek
pWnd
A célként regisztrálandó ablakra mutat.
Visszaadott érték
Nonzero, ha a regisztráció sikeres; egyéb esetben 0.
Megjegyzések
Ezt a függvényt lemorzsolódási műveletek elfogadásához kell meghívni.
További információ: RegisterDragDrop a Windows SDK-ban.
COleDropTarget::Visszavonás
Hívja meg ezt a függvényt, mielőtt megsemmisítené a drop targetként regisztrált ablakokat a regisztrációra irányuló hívással, hogy eltávolítsa azt a célpéldányok listájából.
virtual void Revoke();
Megjegyzések
Ezt a függvényt a rendszer automatikusan meghívja az OnDestroy kezelőből a regisztrált ablakhoz, ezért általában nem szükséges explicit módon meghívni ezt a függvényt.
További információ: RevokeDragDrop a Windows SDK-ban.
Lásd még
MFC-minta HIERSVR
MFC-minta OCLIENT
CCmdTarget osztály
hierarchiadiagram
COleDropSource osztály