リッチ エディット コントロールを作成する方法

リッチ エディット コントロールを作成するには、リッチ エディット ウィンドウ クラスを指定して CreateWindowEx 関数を呼び出します。 Microsoft Rich Edit 4.1 (Msftedit.dll) の場合は、ウィンドウ クラスとして MSFTEDIT_CLASS を指定します。 それ以前のすべてのバージョンについては、RICHEDIT_CLASS を指定します。 詳細については、「Rich Edit のバージョン」を参照してください。

リッチ エディット コントロールは、編集コントロールで使用されるほとんどのウィンドウ スタイルと、追加のスタイルをサポートします。 コントロールで複数行のテキストを使用できるようにする場合は、ES_MULTILINE ウィンドウ スタイルを指定する必要があります。 詳細については、「リッチ エディット コントロールのスタイル」を参照してください。

知っておくべきこと

テクノロジ

前提条件

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

手順

リッチ エディット コントロールを作成する

次の関数の例では、リッチ エディット コントロールを作成し、テキストで初期化します。

HWND CreateRichEdit(HWND hwndOwner,        // Dialog box handle.
                    int x, int y,          // Location.
                    int width, int height, // Dimensions.
                    HINSTANCE hinst)       // Application or DLL instance.
{
    LoadLibrary(TEXT("Msftedit.dll"));
    
    HWND hwndEdit= CreateWindowEx(0, MSFTEDIT_CLASS, TEXT("Type here"),
        ES_MULTILINE | WS_VISIBLE | WS_CHILD | WS_BORDER | WS_TABSTOP, 
        x, y, width, height, 
        hwndOwner, NULL, hinst, NULL);
        
    return hwndEdit;
}

Microsoft Visual Studio 2005 以降では、ツールボックスからコントロールをドラッグすることで、ダイアログ テンプレートにリッチ エディット コントロールを追加できます。 ただし、ダイアログ エディターでこれを実行しても、コントロールが作成される前に必要なライブラリが読み込まれるわけではありません。 ダイアログが作成される前に、LoadLibrary 関数を呼び出して、Riched32.dll、Riched20.dll、または Msftedit.dll を読み込む必要があります。

解説

これらのコントロールで視覚スタイルを使用するためには、アプリケーションにマニフェストを含め、プログラムの開始時に InitCommonControls 関数を呼び出す必要があります。 視覚スタイルの詳細については、「視覚スタイル」を参照してください。 マニフェストの詳細については、「視覚スタイルを有効にする」を参照してください。

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

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