次の方法で共有


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

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

意味
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 を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー winuser.h (Windows.h を含む)

こちらもご覧ください

EM_FINDWORDBREAK

EM_SETWORDBREAKPROC

EM_SETWORDBREAKPROCEX

EditWordBreakProcEx

その他のリソース

リファレンス

SendMessage