Freigeben über


COleDataSource-Klasse

Dient als Cache, in den eine Anwendung die Daten für Datenübertragungsoperationen ablegt, beispielsweise bei Zwischenablage- oder Drag & Drop-Operationen.

Syntax

class COleDataSource : public CCmdTarget

Member

Öffentliche Konstruktoren

Name Beschreibung
COleDataSource::COleDataSource Erstellt ein COleDataSource-Objekt.

Öffentliche Methoden

Name Beschreibung
COleDataSource::CacheData Bietet Daten in einem angegebenen Format mithilfe einer STGMEDIUM Struktur an.
COleDataSource::CacheGlobalData Bietet Daten in einem angegebenen Format mit einem HGLOBAL.
COleDataSource::D elayRenderData Bietet Daten in einem angegebenen Format mit verzögertem Rendering.
COleDataSource::D elayRenderFileData Bietet Daten in einem angegebenen Format in einem CFile Zeiger an.
COleDataSource::D elaySetData Wird für jedes Format aufgerufen, das unterstützt OnSetDatawird.
COleDataSource::D oDragDrop Führt Drag-and-Drop-Vorgänge mit einer Datenquelle aus.
COleDataSource::Empty Leert das COleDataSource Datenobjekt.
COleDataSource::FlushClipboard Rendert alle Daten in der Zwischenablage.
COleDataSource::GetClipboardOwner Überprüft, ob die in der Zwischenablage gespeicherten Daten noch vorhanden sind.
COleDataSource::OnRenderData Ruft Daten als Teil des verzögerten Renderings ab.
COleDataSource::OnRenderFileData Ruft Daten als Teil des verzögerten Renderings ab CFile .
COleDataSource::OnRenderGlobalData Ruft Daten als Teil des verzögerten Renderings in ein HGLOBAL ab.
COleDataSource::OnSetData Wird aufgerufen, um die Daten im COleDataSource Objekt zu ersetzen.
COleDataSource::SetClipboard Platziert ein COleDataSource Objekt in der Zwischenablage.

Hinweise

Sie können OLE-Datenquellen direkt erstellen. Alternativ erstellen die Klassen COleClientItem und COleServerItem OLE-Datenquellen als Reaktion auf ihre CopyToClipboard und DoDragDrop Memberfunktionen. Eine kurze Beschreibung finden Sie unter COleServerItem::CopyToClipboard . Überschreiben Sie die OnGetClipboardData Memberfunktion Des Clientelements oder der Serverelementklasse, um den Daten in der OLE-Datenquelle, die für die Funktion oder DoDragDrop Member erstellt wurde, zusätzliche Formate für die CopyToClipboard Zwischenablage hinzuzufügen.

Wann immer Sie Daten für eine Übertragung vorbereiten möchten, sollten Sie ein Objekt dieser Klasse erstellen und mit Ihren Daten füllen, indem Sie die für Ihre Daten am besten geeignete Methode verwenden. Die Art und Weise, wie sie in eine Datenquelle eingefügt wird, ist direkt davon betroffen, ob die Daten sofort (sofortiges Rendering) oder bei Bedarf (verzögertes Rendering) bereitgestellt werden. Rufen Sie für jedes Zwischenablageformat, in dem Sie Daten bereitstellen, indem Sie das zu verwendende Zwischenablageformat (und eine optionale FORMATTC-Struktur) übergeben, DelayRenderData aufrufen.

Weitere Informationen zu Datenquellen und Datenübertragungen finden Sie im Artikel "Data Objects and Data Sources (OLE)". Darüber hinaus beschreibt der Artikel "Zwischenablagethemen " den OLE-Zwischenablagemechanismus.

Vererbungshierarchie

CObject

CCmdTarget

COleDataSource

Anforderungen

Kopfzeile: afxole.h

COleDataSource::CacheData

Rufen Sie diese Funktion auf, um ein Format anzugeben, in dem Daten während der Datenübertragung angeboten werden.

void CacheData(
    CLIPFORMAT cfFormat,
    LPSTGMEDIUM lpStgMedium,
    LPFORMATETC lpFormatEtc = NULL);

Parameter

cfFormat
Das Format der Zwischenablage, in dem die Daten angeboten werden sollen. Dieser Parameter kann eines der vordefinierten Zwischenablageformate oder der von der systemeigenen Windows RegisterClipboardFormat-Funktion zurückgegebene Wert sein.

lpStgMedium
Verweist auf eine STGMEDIUM-Struktur , die die Daten im angegebenen Format enthält.

lpFormatEtc
Verweist auf eine FORMATTC-Struktur , die das Format beschreibt, in dem die Daten angeboten werden sollen. Geben Sie einen Wert für diesen Parameter an, wenn Sie zusätzliche Formatinformationen über das durch cfFormat angegebene Zwischenablageformat angeben möchten. Wenn es NULL ist, werden Standardwerte für die anderen Felder in der FORMATETC Struktur verwendet.

Hinweise

Sie müssen die Daten angeben, da diese Funktion sie mithilfe des sofortigen Renderings bereitstellt. Die Daten werden bis zum Bedarf zwischengespeichert.

Geben Sie die Daten mithilfe einer STGMEDIUM-Struktur an. Sie können auch die CacheGlobalData Memberfunktion verwenden, wenn die Menge der daten, die Sie bereitstellen, klein genug ist, um effizient mit einem HGLOBAL übertragen zu werden.

Nach dem Aufruf des CacheData ptd Members lpFormatEtc und des Inhalts von lpStgMedium gehört das Datenobjekt, nicht der Aufrufer.

Um verzögertes Rendering zu verwenden, rufen Sie die DelayRenderData - oder DelayRenderFileData-Memberfunktion auf. Weitere Informationen zum verzögerten Rendering, wie von MFC behandelt, finden Sie im Artikel "Data Objects and Data Sources: Manipulation".

Weitere Informationen finden Sie in den STGMEDIUM - und FORMATTC-Strukturen im Windows SDK.

Weitere Informationen finden Sie unter RegisterClipboardFormat im Windows SDK.

COleDataSource::CacheGlobalData

Rufen Sie diese Funktion auf, um ein Format anzugeben, in dem Daten während der Datenübertragung angeboten werden.

void CacheGlobalData(
    CLIPFORMAT cfFormat,
    HGLOBAL hGlobal,
    LPFORMATETC lpFormatEtc = NULL);

Parameter

cfFormat
Das Format der Zwischenablage, in dem die Daten angeboten werden sollen. Dieser Parameter kann eines der vordefinierten Zwischenablageformate oder der von der systemeigenen Windows RegisterClipboardFormat-Funktion zurückgegebene Wert sein.

hGlobal
Behandeln Sie den globalen Speicherblock, der die Daten im angegebenen Format enthält.

lpFormatEtc
Verweist auf eine FORMATTC-Struktur , die das Format beschreibt, in dem die Daten angeboten werden sollen. Geben Sie einen Wert für diesen Parameter an, wenn Sie zusätzliche Formatinformationen über das durch cfFormat angegebene Zwischenablageformat angeben möchten. Wenn es NULL ist, werden Standardwerte für die anderen Felder in der FORMATETC Struktur verwendet.

Hinweise

Diese Funktion stellt die Daten mithilfe des sofortigen Renderings bereit, sodass Sie die Daten beim Aufrufen der Funktion angeben müssen. die Daten werden solange zwischengespeichert, bis sie erforderlich sind. Verwenden Sie die CacheData Memberfunktion, wenn Sie eine große Datenmenge bereitstellen oder ein strukturiertes Speichermedium benötigen.

Um verzögertes Rendering zu verwenden, rufen Sie die DelayRenderData - oder DelayRenderFileData-Memberfunktion auf. Weitere Informationen zum verzögerten Rendering, wie von MFC behandelt, finden Sie im Artikel "Data Objects and Data Sources: Manipulation".

Weitere Informationen finden Sie in der FORMATTC-Struktur im Windows SDK.

Weitere Informationen finden Sie unter RegisterClipboardFormat im Windows SDK.

COleDataSource::COleDataSource

Erstellt ein COleDataSource-Objekt.

COleDataSource();

COleDataSource::D elayRenderData

Rufen Sie diese Funktion auf, um ein Format anzugeben, in dem Daten während der Datenübertragung angeboten werden.

void DelayRenderData(
    CLIPFORMAT cfFormat,
    LPFORMATETC lpFormatEtc = NULL);

Parameter

cfFormat
Das Format der Zwischenablage, in dem die Daten angeboten werden sollen. Dieser Parameter kann eines der vordefinierten Zwischenablageformate oder der von der systemeigenen Windows RegisterClipboardFormat-Funktion zurückgegebene Wert sein.

lpFormatEtc
Verweist auf eine FORMATTC-Struktur , die das Format beschreibt, in dem die Daten angeboten werden sollen. Geben Sie einen Wert für diesen Parameter an, wenn Sie zusätzliche Formatinformationen über das durch cfFormat angegebene Zwischenablageformat angeben möchten. Wenn es NULL ist, werden Standardwerte für die anderen Felder in der FORMATETC Struktur verwendet.

Hinweise

Diese Funktion stellt die Daten mithilfe des verzögerten Renderings bereit, sodass die Daten nicht sofort bereitgestellt werden. Die OnRenderData- oder OnRenderGlobalData-Memberfunktion wird aufgerufen, um die Daten anzufordern.

Verwenden Sie diese Funktion, wenn Sie Ihre Daten nicht über ein CFile Objekt bereitstellen möchten. Wenn Sie die Daten über ein CFile Objekt bereitstellen möchten, rufen Sie die DelayRenderFileData-Memberfunktion auf. Weitere Informationen zum verzögerten Rendering, wie von MFC behandelt, finden Sie im Artikel "Data Objects and Data Sources: Manipulation".

Rufen Sie die Memberfunktion "CacheData " oder "CacheGlobalData " auf, um das sofortige Rendering zu verwenden.

Weitere Informationen finden Sie in der FORMATTC-Struktur im Windows SDK.

Weitere Informationen finden Sie unter RegisterClipboardFormat im Windows SDK.

COleDataSource::D elayRenderFileData

Rufen Sie diese Funktion auf, um ein Format anzugeben, in dem Daten während der Datenübertragung angeboten werden.

void DelayRenderFileData(
    CLIPFORMAT cfFormat,
    LPFORMATETC lpFormatEtc = NULL);

Parameter

cfFormat
Das Format der Zwischenablage, in dem die Daten angeboten werden sollen. Dieser Parameter kann eines der vordefinierten Zwischenablageformate oder der von der systemeigenen Windows RegisterClipboardFormat-Funktion zurückgegebene Wert sein.

lpFormatEtc
Verweist auf eine FORMATTC-Struktur , die das Format beschreibt, in dem die Daten angeboten werden sollen. Geben Sie einen Wert für diesen Parameter an, wenn Sie zusätzliche Formatinformationen über das durch cfFormat angegebene Zwischenablageformat angeben möchten. Wenn es NULL ist, werden Standardwerte für die anderen Felder in der FORMATETC Struktur verwendet.

Hinweise

Diese Funktion stellt die Daten mithilfe des verzögerten Renderings bereit, sodass die Daten nicht sofort bereitgestellt werden. Die OnRenderFileData-Memberfunktion wird aufgerufen, um die Daten anzufordern.

Verwenden Sie diese Funktion, wenn Sie ein CFile Objekt zum Bereitstellen der Daten verwenden möchten. Wenn Sie kein Objekt verwenden CFile möchten, rufen Sie die DelayRenderData-Memberfunktion auf. Weitere Informationen zum verzögerten Rendering, wie von MFC behandelt, finden Sie im Artikel "Data Objects and Data Sources: Manipulation".

Rufen Sie die Memberfunktion "CacheData " oder "CacheGlobalData " auf, um das sofortige Rendering zu verwenden.

Weitere Informationen finden Sie in der FORMATTC-Struktur im Windows SDK.

Weitere Informationen finden Sie unter RegisterClipboardFormat im Windows SDK.

COleDataSource::D elaySetData

Rufen Sie diese Funktion auf, um das Ändern des Inhalts der Datenquelle zu unterstützen.

void DelaySetData(
    CLIPFORMAT cfFormat,
    LPFORMATETC lpFormatEtc = NULL);

Parameter

cfFormat
Das Format der Zwischenablage, in dem die Daten platziert werden sollen. Dieser Parameter kann eines der vordefinierten Zwischenablageformate oder der von der systemeigenen Windows RegisterClipboardFormat-Funktion zurückgegebene Wert sein.

lpFormatEtc
Verweist auf eine FORMATTC-Struktur , die das Format beschreibt, in dem die Daten ersetzt werden sollen. Geben Sie einen Wert für diesen Parameter an, wenn Sie zusätzliche Formatinformationen über das durch cfFormat angegebene Zwischenablageformat angeben möchten. Wenn es NULL ist, werden Standardwerte für die anderen Felder in der FORMATETC Struktur verwendet.

Hinweise

OnSetData wird vom Framework aufgerufen, wenn dies geschieht. Dies wird nur verwendet, wenn das Framework die Datenquelle aus COleServerItem::GetDataSource zurückgibt. Wenn DelaySetData sie nicht aufgerufen wird, wird Ihre OnSetData Funktion nie aufgerufen. DelaySetData sollte für jede von Ihnen unterstützten Zwischenablage oder FORMATETC jedes von Ihnen unterstützten Format aufgerufen werden.

Weitere Informationen finden Sie in der FORMATTC-Struktur im Windows SDK.

Weitere Informationen finden Sie unter RegisterClipboardFormat im Windows SDK.

COleDataSource::D oDragDrop

Rufen Sie die DoDragDrop Memberfunktion auf, um einen Drag-and-Drop-Vorgang für diese Datenquelle auszuführen, in der Regel in einem CWnd::OnLButtonDown-Handler .

DROPEFFECT DoDragDrop(
    DWORD dwEffects = DROPEFFECT_COPY|DROPEFFECT_MOVE|DROPEFFECT_LINK,
    LPCRECT lpRectStartDrag = NULL,
    COleDropSource* pDropSource = NULL);

Parameter

dwEffects
Drag-and-Drop-Vorgänge, die für diese Datenquelle zulässig sind. Dies kann eine oder mehrere der folgenden Aktionen sein:

  • DROPEFFECT_COPY Ein Kopiervorgang kann ausgeführt werden.

  • DROPEFFECT_MOVE Ein Verschiebungsvorgang kann ausgeführt werden.

  • DROPEFFECT_LINK Eine Verknüpfung von den abgelegten Daten zu den ursprünglichen Daten konnte hergestellt werden.

  • DROPEFFECT_SCROLL Gibt an, dass ein Ziehlaufvorgang auftreten kann.

lpRectStartDrag
Zeiger auf das Rechteck, das definiert, wo der Ziehvorgang tatsächlich beginnt. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".

pDropSource
Verweist auf eine Drop-Quelle. Wenn NULL verwendet wird, wird eine Standardimplementierung von COleDropSource verwendet.

Rückgabewert

Drop-Effekt, der vom Drag-and-Drop-Vorgang generiert wird; andernfalls DROPEFFECT_NONE, wenn der Vorgang nie beginnt, da der Benutzer die Maustaste losgelassen hat, bevor das angegebene Rechteck verlassen wird.

Hinweise

Der Drag-and-Drop-Vorgang wird nicht sofort gestartet. Es wartet, bis der Mauscursor das durch lpRectStartDrag angegebene Rechteck verlässt oder bis eine angegebene Anzahl von Millisekunden übergeben wurde. Wenn lpRectStartDrag NULL ist, ist die Größe des Rechtecks ein Pixel.

Die Verzögerungszeit wird durch eine Registrierungsschlüsseleinstellung angegeben. Sie können die Verzögerungszeit ändern, indem Sie CWinApp::WriteProfileString oder CWinApp::WriteProfileInt aufrufen. Wenn Sie die Verzögerungszeit nicht angeben, wird ein Standardwert von 200 Millisekunden verwendet. Die Verzögerungszeit des Ziehens wird wie folgt gespeichert:

  • Die Verzögerungszeit des Windows NT-Ziehens wird in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\NT\CurrentVersion\IniFileMapping\win.ini\Windows\DragDelay gespeichert.

  • Die Verzögerungszeit von Windows 3.x wird im WIN gespeichert. INI-Datei unter dem Abschnitt [Windows}

  • Windows 95/98 Ziehverzögerungszeit wird in einer zwischengespeicherten Version von WIN gespeichert. INI.

Weitere Informationen dazu, wie Ziehverzögerungsinformationen entweder in der Registrierung oder in der Registrierung gespeichert werden. INI-Datei finden Sie unter WriteProfileString im Windows SDK.

Weitere Informationen finden Sie im Artikel OLE-Ziehen und -Ablegen.

COleDataSource::Empty

Rufen Sie diese Funktion auf, um das COleDataSource Objekt der Daten zu leeren.

void Empty();

Hinweise

Sowohl zwischengespeicherte als auch verzögerungsfähige Renderformate werden geleert, sodass sie wiederverwendet werden können.

Weitere Informationen finden Sie unter ReleaseStgMedium im Windows SDK.

COleDataSource::FlushClipboard

Rendert Daten, die sich in der Zwischenablage befinden, und ermöglicht es Ihnen, Daten aus der Zwischenablage einzufügen, nachdem die Anwendung beendet wurde.

static void PASCAL FlushClipboard();

Hinweise

Verwenden Sie SetClipboard , um Daten in die Zwischenablage einzufügen.

COleDataSource::GetClipboardOwner

Bestimmt, ob sich die Daten in der Zwischenablage seit dem letzten Aufruf von SetClipboard geändert haben und in diesem Fall den aktuellen Besitzer identifiziert.

static COleDataSource* PASCAL GetClipboardOwner();

Rückgabewert

Die Datenquelle, die sich derzeit in der Zwischenablage befindet, oder NULL, wenn nichts in der Zwischenablage vorhanden ist oder die Zwischenablage nicht der aufrufenden Anwendung gehört.

COleDataSource::OnRenderData

Vom Framework aufgerufen, um Daten im angegebenen Format abzurufen.

virtual BOOL OnRenderData(
    LPFORMATETC lpFormatEtc,
    LPSTGMEDIUM lpStgMedium);

Parameter

lpFormatEtc
Verweist auf die FORMATTC-Struktur , die das Format angibt, in dem Informationen angefordert werden.

lpStgMedium
Verweist auf eine STGMEDIUM-Struktur , in der die Daten zurückgegeben werden sollen.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Hinweise

Das angegebene Format ist eine zuvor im COleDataSource Objekt platzierte Elementfunktion DelayRenderData oder DelayRenderFileData für das verzögerte Rendering. Die Standardimplementierung dieser Funktion ruft OnRenderFileData oder OnRenderGlobalData auf, wenn das angegebene Speichermedium entweder eine Datei oder ein Speicher ist. Wenn keines dieser Formate bereitgestellt wird, gibt die Standardimplementierung 0 zurück und führt nichts aus. Weitere Informationen zum verzögerten Rendering, wie von MFC behandelt, finden Sie im Artikel "Data Objects and Data Sources: Manipulation".

Wenn lpStgMedium-tymed> TYMED_NULL ist, sollte die STGMEDIUM zuordnung und gefüllt werden, wie durch lpFormatEtc-tymed> angegeben. Wenn es nicht TYMED_NULL ist, sollte die STGMEDIUM Datei mit den Daten ausgefüllt werden.

Dies ist eine erweiterte Außerkraftsetzung. Überschreiben Sie diese Funktion, um Ihre Daten im angeforderten Format und Medium zu liefern. Je nach Ihren Daten sollten Sie stattdessen eine der anderen Versionen dieser Funktion außer Kraft setzen. Wenn Ihre Daten klein und in der Größe festgelegt sind, überschreiben OnRenderGlobalDataSie dies. Wenn sich Die Daten in einer Datei befinden oder eine variable Größe aufweisen, überschreiben OnRenderFileDataSie diese.

Weitere Informationen finden Sie unter den STGMEDIUM - und FORMATTC-Strukturen , dem TYMED-Enumerationstyp und IDataObject::GetData im Windows SDK.

COleDataSource::OnRenderFileData

Wird vom Framework aufgerufen, um Daten im angegebenen Format abzurufen, wenn das angegebene Speichermedium eine Datei ist.

virtual BOOL OnRenderFileData(
    LPFORMATETC lpFormatEtc,
    CFile* pFile);

Parameter

lpFormatEtc
Verweist auf die FORMATTC-Struktur , die das Format angibt, in dem Informationen angefordert werden.

pFile
Verweist auf ein CFile-Objekt , in dem die Daten gerendert werden sollen.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Hinweise

Das angegebene Format ist eines, das COleDataSource zuvor im Objekt platziert wurde, indem die DelayRenderData-Memberfunktion für das verzögerte Rendering verwendet wird. Die Standardimplementierung dieser Funktion gibt einfach FALSE zurück.

Dies ist eine erweiterte Außerkraftsetzung. Überschreiben Sie diese Funktion, um Ihre Daten im angeforderten Format und Medium zu liefern. Je nach Ihren Daten sollten Sie stattdessen eine der anderen Versionen dieser Funktion außer Kraft setzen. Wenn Sie mehrere Speichermedien behandeln möchten, überschreiben Sie OnRenderData. Wenn sich Die Daten in einer Datei befinden oder eine variable Größe aufweisen, überschreiben OnRenderFileDataSie diese. Weitere Informationen zum verzögerten Rendering, wie von MFC behandelt, finden Sie im Artikel "Data Objects and Data Sources: Manipulation".

Weitere Informationen finden Sie in der FORMATTC-Struktur und im IDataObject::GetData im Windows SDK.

COleDataSource::OnRenderGlobalData

Wird vom Framework aufgerufen, um Daten im angegebenen Format abzurufen, wenn das angegebene Speichermedium globaler Speicher ist.

virtual BOOL OnRenderGlobalData(
    LPFORMATETC lpFormatEtc,
    HGLOBAL* phGlobal);

Parameter

lpFormatEtc
Verweist auf die FORMATTC-Struktur , die das Format angibt, in dem Informationen angefordert werden.

phGlobal
Verweist auf ein Handle auf den globalen Speicher, in dem die Daten zurückgegeben werden sollen. Wenn noch keine Zuordnung erfolgt ist, kann dieser Parameter NULL sein.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Hinweise

Das angegebene Format ist eines, das COleDataSource zuvor im Objekt platziert wurde, indem die DelayRenderData-Memberfunktion für das verzögerte Rendering verwendet wird. Die Standardimplementierung dieser Funktion gibt einfach FALSE zurück.

Wenn phGlobal NULL ist, sollte ein neuer HGLOBAL zugeordnet und in phGlobal zurückgegeben werden. Andernfalls sollte der von phGlobal angegebene HGLOBAL mit den Daten gefüllt werden. Die Im HGLOBAL platzierte Datenmenge darf die aktuelle Größe des Speicherblocks nicht überschreiten. Außerdem kann der Block nicht in eine größere Größe umgestellt werden.

Dies ist eine erweiterte Außerkraftsetzung. Überschreiben Sie diese Funktion, um Ihre Daten im angeforderten Format und Medium zu liefern. Je nach Ihren Daten sollten Sie stattdessen eine der anderen Versionen dieser Funktion außer Kraft setzen. Wenn Sie mehrere Speichermedien behandeln möchten, überschreiben Sie OnRenderData. Wenn sich Ihre Daten in einer Datei befinden oder eine variable Größe aufweisen, überschreiben Sie OnRenderFileData. Weitere Informationen zum verzögerten Rendering, wie von MFC behandelt, finden Sie im Artikel "Data Objects and Data Sources: Manipulation".

Weitere Informationen finden Sie in der FORMATTC-Struktur und im IDataObject::GetData im Windows SDK.

COleDataSource::OnSetData

Vom Framework aufgerufen, um die Daten im Objekt im COleDataSource angegebenen Format festzulegen oder zu ersetzen.

virtual BOOL OnSetData(
    LPFORMATETC lpFormatEtc,
    LPSTGMEDIUM lpStgMedium,
    BOOL bRelease);

Parameter

lpFormatEtc
Verweist auf die FORMATTC-Struktur , die das Format angibt, in dem Daten ersetzt werden.

lpStgMedium
Verweist auf die STGMEDIUM-Struktur , die die Daten enthält, die den aktuellen Inhalt des COleDataSource Objekts ersetzen.

bRelease
Gibt an, wer nach Abschluss des Funktionsaufrufs über den Besitz des Speichermediums verfügt. Der Anrufer entscheidet, wer für die Freigabe der im Auftrag des Speichermediums zugewiesenen Ressourcen verantwortlich ist. Der Aufrufer führt dies durch Festlegen von bRelease aus. Wenn bRelease nicht null ist, übernimmt die Datenquelle den Besitz und befreit das Medium, wenn es die Verwendung abgeschlossen hat. Wenn bRelease 0 ist, behält der Aufrufer den Besitz bei, und die Datenquelle kann das Speichermedium nur für die Dauer des Anrufs verwenden.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Hinweise

Die Datenquelle übernimmt erst dann den Besitz der Daten, wenn sie sie erfolgreich erhalten hat. Das heißt, es übernimmt keinen Besitz, wenn OnSetData 0 zurückgegeben wird. Wenn die Datenquelle den Besitz übernimmt, wird das Speichermedium durch Aufrufen der ReleaseStgMedium-Funktion freigegeben.

Bei der Standardimplementierung wird keine Aktion ausgeführt. Überschreiben Sie diese Funktion, um die Daten im angegebenen Format zu ersetzen. Dies ist eine erweiterte Außerkraftsetzung.

Weitere Informationen finden Sie in den STGMEDIUM - und FORMATTC-Strukturen und den ReleaseStgMedium - und IDataObject::GetData-Funktionen im Windows SDK.

COleDataSource::SetClipboard

Platziert die daten, die im Objekt in der COleDataSource Zwischenablage enthalten sind, nachdem eine der folgenden Funktionen aufgerufen wurde: CacheData, CacheGlobalData, DelayRenderData oder DelayRenderFileData.

void SetClipboard();

Siehe auch

MFC-Beispiel HIERSVR
MFC-Beispiel-OCLIENT
CCmdTarget-Klasse
Hierarchiediagramm
COleDataObject-Klasse