リッチ エディット クリップボード操作を使用する方法

アプリケーションは、使用可能な最適なクリップボード形式または特定のクリップボード形式を使用して、クリップボードの内容をリッチ エディット コントロールに貼り付けることができます。 リッチ エディト コントロールがクリップボード形式を貼り付け可能かどうかを判断することもできます。

知っておくべきこと

テクノロジ

前提条件

  • C/C++
  • Windows ユーザー インターフェイス プログラミング

手順

リッチ エディット クリップボード操作の使用

編集コントロールと同様に、WM_COPY または WM_CUT メッセージを使用すると、現在の選択範囲の内容をコピーまたは切り取ることができます。 同様に、WM_PASTE メッセージを使用すると、クリップボードの内容をリッチ エディット コントロールに貼り付けることができます。 コントロールは、認識できる最初の使用可能な形式 (おそらく最もわかりやすい形式) を貼り付けます。

特定のクリップボード形式を貼り付けるには、EM_PASTESPECIAL メッセージを使用できます。 このメッセージは、ユーザーがクリップボード形式を選択できる Paste Special コマンドを使用するアプリケーションに役立ちます。 EM_CANPASTE メッセージを使用すると、特定の形式がコントロールによって認識されるかどうかを判断できます。

また、EM_CANPASTE メッセージを使用すると、使用可能なクリップボード形式がリッチ エディット コントロールによって認識されるかどうかを判断することもできます。 このメッセージは、WM_INITMENUPOPUP メッセージを処理するときに便利です。 アプリケーションでは、使用可能な形式をコントロールで貼り付けるかどうかに応じて、Paste コマンドを有効にしたりグレーアウトにしたりできます。

リッチ エディット コントロールは、次の 2 つのクリップボード形式を登録します。

  • リッチ テキスト形式
  • オブジェクトのないリッチ テキスト形式
  • RichEdit テキストとオブジェクト

アプリケーションは、RegisterClipboardFormat 関数を使用して、CF_RTF、CF_RTFNOOBJS、CF_RETEXTOBJ 値を指定することでこれらの形式を登録できます。

リッチ エディット コントロールの使用

Windows コモン コントロールのデモ (CppWindowsCommonControls)