2

COleDataSource と COleDataObject を使用する場合は、ドラッグ アンド ドロップ操作でデータを保存するクリップボード データ形式ごとにグローバル メモリを割り当てます。ドロップ コードでは、オブジェクトに必要な形式のデータがあるかどうかを照会し、そのメモリにアクセスして解放できます。

しかし、ドロップ ターゲットとして、ドラッグ ソースによって関連付けられたデータを持つ可能性のあるすべての形式を知ることはできません。では、すべてのフォーマットのドラッグに割り当てられたメモリをすべてクリアするにはどうすればよいでしょうか?

実際、ドロップ時にこのデータを手動で解放する必要がありますか、それとも MFC/Ole に自動的に任せますか?

4

1 に答える 1

2

ハンドルを COleDataSource に渡すと、あなたではなくメモリを所有します。グローバル メモリを解放する必要はありません。

興味のあるものが見つかるまで、BeginEnumFormats と GetNextFormat を使用して、COleDataObject オブジェクトで使用可能なデータ形式を列挙することになっています。 HTML フォーマットを破棄し、テキストのみのドロップ/ペーストのみを作成します。

于 2009-12-08T18:32:29.510 に答える