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,如果位於指定位置的字元是分隔符,則傳回值為非零 (TRUE) ,否則為零。 如果 程式代碼 參數指定 WB_CLASSIFY,則傳回值是位於指定位置之字元的字元類別和斷詞符號旗標。 否則,傳回值是文字緩衝區中文字開頭的索引。

備註

歸位字元後面接著換行字元,必須由回呼函式視為單一單字。 後面接著換行字元的兩個歸位字元也必須視為單一單字。

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

Rich Edit 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 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平台 Windows
標頭 winuser.h (包括 Windows.h)

另請參閱

EM_FINDWORDBREAK

EM_SETWORDBREAKPROC

EM_SETWORDBREAKPROCEX

EditWordBreakProcEx

其他資源

參考

SendMessage