共用方式為


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

類型: LPWSTR

編輯控制項文字的指標。

[in] ichCurrent

類型: int

文字緩衝區中字元位置的索引,可識別函式應該開始檢查換詞符號的點。

[in] cch

類型: int

編輯控制項文字中的 TCHAR 數目。 對於 ANSI 文字,這是位元組數;對於 Unicode 文字,這是 WCHAR 的數目。

[in] code

類型: int

回呼函數要採取的動作。 此參數可以是下列其中一個值。

價值觀 Meaning
WB_CLASSIFY
擷取指定位置字元的字元類別和斷詞旗標。 此值適用於豐富的編輯控制項。
WB_ISDELIMITER
檢查指定位置的字元是否為分隔符號。
WB_LEFT
尋找指定位置左側單字的開頭。
WB_LEFTBREAK
尋找指定位置左側的字尾分隔符號。 此值適用於豐富的編輯控制項。
WB_MOVEWORDLEFT
尋找指定位置左側單字的開頭。 此值會在 CTRL+LEFT 鍵處理期間使用。 此值適用於豐富的編輯控制項。
WB_MOVEWORDRIGHT
尋找指定位置右側單字的開頭。 此值會在 CTRL+RIGHT 鍵處理期間使用。 此值適用於豐富的編輯控制項。
WB_RIGHT
尋找指定位置右側單字的開頭。 這在右對齊的編輯控制項中很有用。
WB_RIGHTBREAK
尋找指定位置右側的字尾分隔符號。 這在右對齊的編輯控制項中很有用。 此值適用於豐富的編輯控制項。

返回值

類型: int

如果 code 參數指定 WB_ISDELIMITER,如果指定位置的字元是分隔符號,則傳回值為非零 (TRUE),如果不是,則傳回值為零。 如果 code 參數指定 WB_CLASSIFY,則傳回值是指定位置字元的字元類別和斷詞旗標。 否則,傳回值是文字緩衝區中單字開頭的索引。

備註

回呼函式必須將回車後面的換行視為單一單字。 兩個回車符後面跟著換行符也必須被視為單個單詞。

應用程式必須藉由在 EM_SETWORDBREAKPROC 訊息中指定回呼函式的位址來安裝回呼函式。

豐富編輯 1.0:Microsoft Rich Edit 1.0 只會將 ANSI 字元傳回給 EditWordBreakProc。 針對豐富的編輯控制項,您也可以使用 EM_SETWORDBREAKPROCEX 訊息,將預設的擴充斷詞程式取代為 EditWordBreakProcEx 回呼函式。 此功能提供文字的其他相關資訊,例如字元集。

Rich Edit 2.0 及更高版本:Microsoft Rich Edit 2.0 和更新版本只會將 Unicode 字元傳回給 EditWordBreakProc。 因此,ANSI 應用程式會使用 WideCharToMultiByte 轉換 Rich Edit 提供的 Unicode 字串,然後適當地轉譯索引。

備註

winuser.h 標頭會將 EDITWORDBREAKPROC 定義為別名,可根據 UNICODE 前置處理器常數的定義自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型 慣例。

需求

Requirement 價值觀
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
支援的最低伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平臺 窗戶
Header winuser.h (包括 Windows.h)

另請參閱

EM_FINDWORDBREAK

EM_SETWORDBREAKPROC

EM_SETWORDBREAKPROCEX

編輯WordBreakProcEx

其他資源

參考

發送訊息