Share via


Klasse COleDropSource

Opmerking

De Microsoft Foundation Classes-bibliotheek (MFC) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.

Hiermee kunnen gegevens naar een neergezet doel worden gesleept.

Syntaxis

class COleDropSource : public CCmdTarget

Leden

Openbare constructors

Naam Description
COleDropSource::COleDropSource Maakt een COleDropSource object.

Openbare methoden

Naam Description
COleDropSource::GiveFeedback Hiermee wijzigt u de cursor tijdens een slepen-en-neerzetten-bewerking.
COleDropSource::OnBeginDrag Verwerkt het vastleggen van de muis tijdens een slepen-en-neerzetten-bewerking.
COleDropSource::QueryContinueDrag Hiermee wordt gecontroleerd of slepen moet worden voortgezet.

Opmerkingen

De COleDropTarget-klasse verwerkt het ontvangende gedeelte van de bewerking slepen en neerzetten. Het COleDropSource object is verantwoordelijk voor het bepalen wanneer een sleepbewerking begint, feedback geeft tijdens de sleepbewerking en het bepalen wanneer de sleepbewerking eindigt.

Als u een COleDropSource object wilt gebruiken, roept u de constructor aan. Dit vereenvoudigt het proces om te bepalen welke gebeurtenissen, zoals een muisklik, een sleepbewerking starten met behulp van de functie COleDataSource::D oDragDrop, COleClientItem::D oDragDrop of COleServerItem::D oDragDrop . Met deze functies wordt een COleDropSource object voor u gemaakt. Mogelijk wilt u het standaardgedrag van de COleDropSource overschrijfbare functies wijzigen. Deze lidfuncties worden op de juiste tijdstippen door het framework aangeroepen.

Zie het artikel OLE slepen en neerzetten voor meer informatie over slepen en neerzetten met OLE.

Zie IDropSource in de Windows SDK voor meer informatie.

Overnamehiƫrarchie

CObject

CCmdTarget

COleDropSource

Requirements

Koptekst: afxole.h

COleDropSource::COleDropSource

Maakt een COleDropSource object.

COleDropSource();

COleDropSource::GiveFeedback

Aangeroepen door het framework na het aanroepen van COleDropTarget::OnDragOver of COleDropTarget::D ragEnter.

virtual SCODE GiveFeedback(DROPEFFECT dropEffect);

Parameterwaarden

dropEffect
Het effect dat u aan de gebruiker wilt weergeven, geeft meestal aan wat er zou gebeuren als er op dit moment een daling optrad met de geselecteerde gegevens. Dit is doorgaans de waarde die wordt geretourneerd door de meest recente aanroep naar CView::OnDragEnter of CView::OnDragOver. Dit kan een of meer van de volgende zijn:

  • DROPEFFECT_NONE Een neerval is niet toegestaan.

  • DROPEFFECT_COPY Er wordt een kopieerbewerking uitgevoerd.

  • DROPEFFECT_MOVE een verplaatsingsbewerking wordt uitgevoerd.

  • DROPEFFECT_LINK Er wordt een koppeling van de verwijderde gegevens naar de oorspronkelijke gegevens tot stand gebracht.

  • DROPEFFECT_SCROLL Een schuifbewerking voor slepen staat op het punt of in het doel op te treden.

Retourwaarde

Retourneert DRAGDROP_S_USEDEFAULTCURSORS als slepen wordt uitgevoerd, NOERROR als dat niet het is.

Opmerkingen

Overschrijf deze functie om feedback te geven aan de gebruiker over wat er zou gebeuren als er op dit moment een daling optrad. Voor de standaard implementatie worden de OLE-standaardcursors gebruikt. Zie het artikel OLE slepen en neerzetten voor meer informatie over slepen en neerzetten met OLE.

Zie IDropSource::GiveFeedback, IDropTarget::D ragOver en IDropTarget::D ragEnter in de Windows SDK voor meer informatie.

COleDropSource::OnBeginDrag

Aangeroepen door het framework wanneer een gebeurtenis optreedt die een sleepbewerking kan starten, zoals het drukken op de linkermuisknop.

virtual BOOL OnBeginDrag(CWnd* pWnd);

Parameterwaarden

pWnd
Verwijst naar het venster met de geselecteerde gegevens.

Retourwaarde

Nonzero als slepen is toegestaan, anders 0.

Opmerkingen

Overschrijf deze functie als u de manier wilt wijzigen waarop het sleepproces wordt gestart. De standaard implementatie legt de muis vast en blijft in de sleepmodus totdat de gebruiker op de linker- of rechtermuisknop klikt of op Esc klikt, op welk moment de muis wordt losgelaten.

COleDropSource::QueryContinueDrag

Nadat slepen is gestart, wordt deze functie herhaaldelijk aangeroepen door het framework totdat de sleepbewerking is geannuleerd of voltooid.

virtual SCODE QueryContinueDrag(
    BOOL bEscapePressed,
    DWORD dwKeyState);

Parameterwaarden

bEscapePressed
Geeft aan of de ESC-toets is ingedrukt sinds de laatste aanroep naar COleDropSource::QueryContinueDrag.

dwKeyState
Bevat de status van de wijzigingstoetsen op het toetsenbord. Dit is een combinatie van een willekeurig aantal van de volgende: MK_CONTROL, MK_SHIFT, MK_ALT, MK_LBUTTON, MK_MBUTTON en MK_RBUTTON.

Retourwaarde

DRAGDROP_S_CANCEL als de ESC-toets of de rechterknop wordt ingedrukt of als de linkerknop omhoog gaat voordat u sleept. DRAGDROP_S_DROP als er een drop-bewerking moet plaatsvinden. Anders S_OK.

Opmerkingen

Overschrijf deze functie als u het punt wilt wijzigen waarop slepen wordt geannuleerd of als er een neerval optreedt.

De standaard implementatie initieert de drop of annuleert de slepen als volgt. Het annuleert een sleepbewerking wanneer de ESC-toets of de rechtermuisknop wordt ingedrukt. Er wordt een neerzetbewerking gestart wanneer de linkermuisknop wordt verhoogd nadat slepen is gestart. Anders wordt S_OK geretourneerd en worden er geen verdere bewerkingen uitgevoerd.

Omdat deze functie vaak wordt aangeroepen, moet deze zoveel mogelijk worden geoptimaliseerd.

Zie ook

MFC-voorbeeld HIERSVR
MFC-voorbeeld-OCLIENT
CCmdTarget-klasse
Hiƫrarchiegrafiek