リッチエディットコントロールの内容を、アプリケーション定義の EditStreamCallback コールバック関数に渡します。
このメッセージを送信するには SendMessage 関数を使います。
#define EM_STREAMOUT 0x044A wParam = uFormat; lParam = pStream;
データフォーマットとオプションを示すフラグを指定します。以下の値を指定します。
値 | 意味 |
---|---|
0x0001 (SF_TEXT) | OLEオブジェクトをスペースに置き換えたテキスト形式で出力します。 |
0x0002 (SF_RTF) | リッチテキスト形式(Rich Text Format:RTF)で出力します。 |
0x0003 (SF_RTFNOOBJS) | OLEオブジェクトをスペースに置き換えたRTFで出力します。 |
0x0004 (SF_TEXTIZED) | OLEオブジェクトをテキストで表現したテキスト形式で出力します。 |
0x0010 (SF_UNICODE) | Rich Edit 2.0 以降: Unicode のテキストであることを指定します。 SF_TEXT と組み合わせて指定することができます。 |
0x0020 (SF_USECODEPAGE) | Rich Edit 3.0 以降: |
0x8000 (SFF_SELECTION) | 現在選択されている部分の内容を渡します。このフラグが指定されない場合はコントロール全体の内容を渡します。 |
0x4000 (SFF_PLAINRTF) | すべての言語で共通のキーワードのみがストリームに送られ、言語指定RTFキーワードは無視されます。 SF_RTF または SF_RTFNOOBJS と組み合わせて指定することができます。 |
EDITSTREAM 構造体のアドレスを指定します。この構造体の pfnCallback メンバには EditStreamCallback コールバック関数のアドレスを格納しておく必要があります。エラーが発生するとこの構造体の dwError メンバに 0 以外のエラーコードが格納されます。
データストリームに書き込まれた文字数が返ります。
EM_STREAMOUT メッセージを送信すると、リッチエディットコントロールは EDITSTREAM 構造体の pfnCallback メンバに指定されている EditStreamCallback コールバック関数の呼び出しを繰り返し行ないます。コールバック関数には、呼び出されるたびに、コントロールに含まれているデータを格納したバッファが渡されていきます。この呼び出しは、すべての内容がコールバック関数に渡されるか、エラーが発生するまで行なわれます。
Windows 95 以降 / Windows NT 4.0 以降