EDITWORDBREAKPROCA コールバック関数 (winuser.h)
EM_SETWORDBREAKPROC メッセージで使用されるアプリケーション定義のコールバック関数。 複数行の編集コントロールまたはリッチ エディット コントロールは 、EditWordBreakProc 関数を呼び出してテキスト行を区切ります。
EDITWORDBREAKPROC 型は、このコールバック関数へのポインターを定義します。 EditWordBreakProc は、アプリケーション定義関数名のプレースホルダーです。
構文
EDITWORDBREAKPROCA Editwordbreakproca;
int Editwordbreakproca(
[in] LPSTR lpch,
[in] int ichCurrent,
[in] int cch,
[in] int code
)
{...}
パラメーター
[in] lpch
種類: LPTSTR
編集コントロールのテキストへのポインター。
[in] ichCurrent
型: int
関数が単語区切りのチェックを開始する位置を識別する、テキストのバッファー内の文字位置へのインデックス。
[in] cch
型: int
編集コントロール テキスト内の TCHAR の 数。 ANSI テキストの場合、これはバイト数です。Unicode テキストの場合、これは WCHAR の数です。
[in] code
型: int
コールバック関数によって実行されるアクション。 このパラメーターには、次の値のいずれかを指定できます。
戻り値
型: int
コード パラメーターでWB_ISDELIMITERを指定した場合、指定した位置の文字が区切り記号の場合は 0 以外 (TRUE)、それ以外の場合は 0 になります。 コード パラメーターでWB_CLASSIFYを指定した場合、戻り値は、指定した位置にある文字の文字クラスと単語区切りフラグです。 それ以外の場合、戻り値は、テキストのバッファー内の単語の先頭へのインデックスです。
注釈
キャリッジ リターンとそれに続く改行は、コールバック関数によって 1 つの単語として扱う必要があります。 改行が続く 2 つのキャリッジ リターンも、1 つの単語として扱う必要があります。
アプリケーションでは、コールバック関数のアドレスを EM_SETWORDBREAKPROC メッセージに指定して、コールバック関数をインストールする必要があります。
リッチ エディット 1.0:Microsoft Rich Edit 1.0 では、ANSI 文字のみが EditWordBreakProc に渡されます。 リッチ エディット コントロールの場合は、 EM_SETWORDBREAKPROCEX メッセージを使用して、既定の拡張単語区切りプロシージャを EditWordBreakProcEx コールバック関数に置き換えることができます。 この関数は、文字セットなどのテキストに関する追加情報を提供します。
リッチ エディット 2.0 以降:Microsoft Rich Edit 2.0 以降では、Unicode 文字のみを EditWordBreakProc に渡します。 したがって、ANSI アプリケーションでは、 WideCharToMultiByte を使用してリッチエディット指定の Unicode 文字列を変換し、インデックスを適切に変換します。
注意
winuser.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして EDITWORDBREAKPROC を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | winuser.h (Windows.h を含む) |
こちらもご覧ください
その他のリソース
リファレンス