與 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
回呼函數要採取的動作。 此參數可以是下列其中一個值。
返回值
類型: 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) |
另請參閱
其他資源
參考