次の方法で共有


クリップボード

クリップボード は、アプリケーションがデータを転送できるようにする一連の関数とメッセージです。 すべてのアプリケーションがクリップボードにアクセスできるため、アプリケーション間またはアプリケーション内でデータを簡単に転送できます。

この概要では、リンクされたオブジェクトまたは埋め込みオブジェクトをコピーして貼り付ける方法については説明しません。 これらのテーマの詳細については、コンポーネント オブジェクト モデル (COM) のドキュメントを参照してください。

このセクションでは...

次のトピックでは、クリップボード、クリップボードの形式、クリップボードの操作、およびクリップボード メッセージに関する情報を提供します。 API リファレンスには、クリップボードの操作に使用できる関数とメッセージが含まれています。

名前 形容
クリップボードの について クリップボードについて説明します。
クリップボード形式 クリップボードの形式について説明します。 ウィンドウはクリップボードに複数のオブジェクトを配置でき、それぞれが同じ情報を異なるクリップボード形式で表します。 ユーザーは、クリップボード上のオブジェクトに使用されるクリップボード形式を認識する必要はありません。
クリップボード操作の クリップボード操作について説明します。 ウィンドウでは、データの切り取り、コピー、貼り付け時にクリップボードを使用する必要があります。 ウィンドウは、切り取りとコピーの操作のためにクリップボードにデータを配置し、貼り付け操作のためにクリップボードからデータを取得します。
HTML クリップボード形式 する HTML クリップボードの形式について説明します。
クリップボード を使用した クリップボード ビューアー ウィンドウには、クリップボードの現在のコンテンツが表示され、クリップボードのコンテンツが変更されたときにメッセージが受信されます。
クリップボード参照 API リファレンスが含まれています。

クリップボード関数

次の表に、クリップボードの操作に使用できる関数を示します。

名前 形容
AddClipboardFormatListener 指定されたウィンドウを、システム管理のクリップボード形式リスナー リストに配置します。
ChangeClipboardChain クリップボード ビューアーのチェーンから指定したウィンドウを削除します。
CloseClipboard クリップボードを閉じます。
CountClipboardFormats 現在クリップボードにあるさまざまなデータ形式の数を取得します。
EmptyClipboard クリップボードを空にし、クリップボード内のデータへのハンドルを解放します。 この関数は、クリップボードが現在開いているウィンドウにクリップボードの所有権を割り当てます。
EnumClipboardFormats クリップボードで現在使用できるデータ形式を列挙します。 クリップボードのデータ形式は、順序付けされたリストに格納されます。 クリップボードのデータ形式の列挙を実行するには、 EnumClipboardFormats 関数を一連の呼び出しを行います。 呼び出しごとに、形式 パラメーターは使用可能なクリップボード形式を指定し、関数は次に使用可能なクリップボード形式を返します。
GetClipboardData 指定した形式でクリップボードからデータを取得します。 クリップボードは以前に開かれている必要があります。
GetClipboardFormatName 指定した登録済み形式の名前をクリップボードから取得します。 この関数は、指定したバッファーに名前をコピーします。
GetClipboardOwner クリップボードの現在の所有者のウィンドウ ハンドルを取得します。
GetClipboardSequenceNumber 現在のウィンドウ ステーションのクリップボード シーケンス番号を取得します。
GetClipboardViewer クリップボード ビューアー チェーンの最初のウィンドウへのハンドルを取得します。
GetOpenClipboardWindow 現在クリップボードが開いているウィンドウへのハンドルを取得します。
GetPriorityClipboardFormat 指定したリストの最初の使用可能なクリップボード形式を取得します。
GetUpdatedClipboardFormats 現在サポートされているクリップボード形式を取得します。
IsClipboardFormatAvailable クリップボードに指定した形式のデータが含まれているかどうかを判断します。
OpenClipboard 検査のためにクリップボードを開き、他のアプリケーションがクリップボードの内容を変更できないようにします。
RegisterClipboardFormat 新しいクリップボード形式を登録します。 この形式は、有効なクリップボード形式として使用できます。
RemoveClipboardFormatListener システムで管理されているクリップボード形式のリスナー リストから、指定されたウィンドウを削除します。
SetClipboardData 指定したクリップボード形式でクリップボードにデータを配置します。 ウィンドウは現在のクリップボード所有者である必要があり、アプリケーションは OpenClipboard 関数を呼び出している必要があります。 ( WM_RENDERFORMAT メッセージに応答する場合、クリップボードの所有者は SetClipboardData を呼び出す前に OpenClipboard を呼び出してはなりません)。
SetClipboardViewer 指定したウィンドウをクリップボード ビューアーのチェーンに追加します。 クリップボード ビューアー ウィンドウは、クリップボードの内容が変更されるたびに WM_DRAWCLIPBOARD メッセージを受け取ります。

クリップボード のメッセージ

次の表に、クリップボード ビューアー ウィンドウに送信されるメッセージの一覧を示します。

名前 形容
WM_CLEAR 編集コントロールまたはコンボ ボックスに送信され、編集コントロールから現在の選択範囲 (存在する場合) を削除 (クリア) します。
WM_COPY 編集コントロールまたはコンボ ボックスに送信され、現在の選択範囲が CF_TEXT 形式でクリップボードにコピーされます。
WM_CUT 編集コントロールまたはコンボ ボックスに送信され、編集コントロール内の現在の選択範囲を削除 (切り取り) し、削除したテキストを CF_TEXT 形式でクリップボードにコピーします。
WM_PASTE クリップボードの現在のコンテンツを現在のキャレット位置にある編集コントロールにコピーするために、編集コントロールまたはコンボ ボックスに送信されます。 データは、クリップボードに CF_TEXT 形式のデータが含まれている場合にのみ挿入されます。

クリップボードの通知

次の表に、クリップボード ビューアー ウィンドウに送信されるクリップボード通知メッセージを示します。

名前 形容
WM_ASKCBFORMATNAME CF_OWNERDISPLAYクリップボード形式の名前を要求するために、クリップボード ビューアー ウィンドウによってクリップボードの所有者 送信されます。
WM_CHANGECBCHAIN ウィンドウがチェーンから削除されるときに、クリップボード ビューアー チェーンの最初のウィンドウに送信されます。
WM_CLIPBOARDUPDATE クリップボードの内容が変更されたときに送信されます。
WM_DESTROYCLIPBOARD EmptyClipboard 関数の呼び出しがクリップボードを空にすると、クリップボードの所有者に送信されます。
WM_DRAWCLIPBOARD クリップボードの内容が変更されると、クリップボード ビューアー チェーンの最初のウィンドウに送信されます。 これにより、クリップボード ビューアー ウィンドウにクリップボードの新しいコンテンツを表示できます。
WM_HSCROLLCLIPBOARD クリップボード ビューアー ウィンドウによってクリップボードの所有者に送信されます。 これは、クリップボードに CF_OWNERDISPLAY 形式のデータが含まれており、クリップボード ビューアーの水平スクロール バーでイベントが発生した場合に発生します。 所有者はクリップボードの画像をスクロールし、スクロール バーの値を更新する必要があります。
WM_PAINTCLIPBOARD クリップボードに CF_OWNERDISPLAY 形式のデータが含まれており、クリップボード ビューアーのクライアント領域を再描画する必要がある場合に、クリップボード ビューアー ウィンドウによってクリップボードの所有者に送信されます。
WM_RENDERALLFORMATS クリップボードの所有者が 1 つ以上のクリップボード形式のレンダリングを遅らせた場合は、破棄される前にクリップボードの所有者に送信されます。 クリップボードの内容を他のアプリケーションで使用できるようにするには、クリップボードの所有者は、生成できるすべての形式でデータをレンダリングし、 SetClipboardData 関数を呼び出してクリップボードにデータを配置する必要があります。
WM_RENDERFORMAT 特定のクリップボード形式のレンダリングが遅れている場合、およびアプリケーションがその形式のデータを要求した場合に、クリップボードの所有者に送信されます。 クリップボードの所有者は、指定した形式でデータをレンダリングし、 SetClipboardData 関数を呼び出してクリップボードに配置する必要があります。
WM_SIZECLIPBOARD クリップボードに CF_OWNERDISPLAY 形式のデータが含まれており、クリップボード ビューアーのクライアント領域のサイズが変更されたときに、クリップボード ビューアー ウィンドウによってクリップボードの所有者に送信されます。
WM_VSCROLLCLIPBOARD クリップボードに CF_OWNERDISPLAY 形式のデータが含まれており、クリップボード ビューアーの垂直スクロール バーでイベントが発生したときに、クリップボード ビューアー ウィンドウによってクリップボードの所有者に送信されます。 所有者はクリップボードの画像をスクロールし、スクロール バーの値を更新する必要があります。

構造

次の表に、クリップボードで使用される構造を示します。

名前 形容
METAFILEPICT クリップボードを介してメタファイル データを交換するために使用されるメタファイル画像形式を定義します。