次の方法で共有


EDITWORDBREAKPROCW コールバック関数 (winuser.h)

EM_SETWORDBREAKPROC メッセージで使用されるアプリケーション定義のコールバック関数。 複数行編集コントロールまたはリッチ エディット コントロールは、EditWordBreakProc 関数を呼び出してテキスト行を区切ります。

EDITWORDBREAKPROC 型は、このコールバック関数へのポインターを定義します。 EditWordBreakProc は、アプリケーション定義関数名のプレースホルダーです。

構文

EDITWORDBREAKPROCW Editwordbreakprocw;

int Editwordbreakprocw(
  [in] LPWSTR 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

コールバック関数によって実行されるアクション。 このパラメーターには、次のいずれかの値を指定できます。

価値 意味
WB_CLASSIFY
指定した位置にある文字の文字クラスおよび単語区切りフラグを取得します。 この値は、リッチ エディット コントロールで使用します。
WB_ISDELIMITER
指定した位置の文字が区切り記号であるかどうかを確認します。
WB_LEFT
指定した位置の左にある単語の先頭を検索します。
WB_LEFTBREAK
指定した位置の左側にある単語の末尾の区切り記号を検索します。 この値は、リッチ エディット コントロールで使用します。
WB_MOVEWORDLEFT
指定した位置の左にある単語の先頭を検索します。 この値は、Ctrl + LEFT キーの処理中に使用されます。 この値は、リッチ エディット コントロールで使用します。
WB_MOVEWORDRIGHT
指定した位置の右にある単語の先頭を検索します。 この値は、Ctrl + RIGHT キーの処理中に使用されます。 この値は、リッチ エディット コントロールで使用します。
WB_RIGHT
指定した位置の右にある単語の先頭を検索します。 これは、右揃えの編集コントロールで役立ちます。
WB_RIGHTBREAK
指定した位置の右側にある単語の末尾の区切り記号を検索します。 これは、右揃えの編集コントロールで役立ちます。 この値は、リッチ エディット コントロールで使用します。

戻り値

型: 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 を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows Vista [デスクトップ アプリのみ]
サポートされる最小サーバー Windows Server 2003 [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー winuser.h (Windows.h を含む)

関連項目

EM_FINDWORDBREAK

EM_SETWORDBREAKPROC

EM_SETWORDBREAKPROCEX

EditWordBreakProcEx の

その他のリソース を する

リファレンス

SendMessage を する