Editor_Filter

用指定的字串以及設定來篩選文檔。您能用這個內嵌函式或明確地發送 EE_FILTER 消息。

Editor_Filter( HWND hwnd, LPCWSTR szFilter, int iColumn, UINT nFlags, INT_PTR xBegin, INT_PTR xEnd );

參數

hwnd

指定 EmEditor 視圖或方塊架的視窗控點。

szFilter

指定一個要搜尋的字串。

iColumn

指定您想要搜尋的文字的欄位索引,或指定 -1 如果您想要搜尋整行。

nFlags

從如下值中指定一個組合。

FLAG_FIND_BOOKMARKED_ONLY

僅符合書籤行。此標志不能與 FLAG_FIND_UNBOOKMARKED_ONLY 合用。

FLAG_FIND_CASE

大小寫需符合。

FLAG_FIND_CONTINUE

指定下次調用的 EE_FILTER 消息不清除篩選記錄。此篩選在調用這個消息後不會馬上應用。當你想要進行多個級別的篩選時,可以使用這個標志。它與 FLAG_FIND_KEEP_PREVIOUS 標志相同,但由於實際的篩選不會在每次調用消息時被應用,這個方法更適用於多個篩選級別。

FLAG_FIND_CR_LF

符合換行符為 CR 和 LF 的行。此標志必須與 FLAG_FIND_MATCH_NL 合用。

FLAG_FIND_CR_ONLY

符合換行符為僅 CR 的行。此標志必須與 FLAG_FIND_MATCH_NL 合用。

FLAG_FIND_ESCAPE

使用逸出序列。

FLAG_FIND_FUZZY

使用模糊比對。

FLAG_FIND_KEEP_PREVIOUS

指定 EE_FILTER 消息不會在應用新篩選前清除已存在的篩選記錄。你可以在你要進行多個級別的篩選時,使用這個標志。

FLAG_FIND_LOGICAL_OR

指定一個運算邏輯分離 (logical OR) 到之前的層級上在多層級篩選的情況下。

FLAG_FIND_LF_ONLY

符合換行符為僅 LF 的行。此標志必須與 FLAG_FIND_MATCH_NL 合用。

FLAG_FIND_LINK_FILE

指定 pszFilter 是連結檔案的檔案路徑,該連結檔案包含多個由換行符分隔的搜索字串。如果一行中包含 Tab,則搜索字串是第一個不包含 Tab的字串。 pszFilter 可能是 EmEditor 安裝路徑的相對路徑。它可能包含環境變數,例如 %USERPROFILE%。

FLAG_FIND_MATCH_NL

符合指定的換行符。此標志應與 FLAG_FIND_CR_LF,FLAG_FIND_CR_ONLY,FLAG_FIND_LF_ONLY,和/或 FLAG_FIND_NL_OTHERS 合用。

FLAG_FIND_NEGATIVE

顯示篩選工具列並排除與指定字串符合的行。

FLAG_FIND_NL_OTHERS

符合沒有換行符的行。這些行包括檔案的最後一行以及非常長的,繼續到下一行而沒有換行符行。此標志必須與 FLAG_FIND_MATCH_NL 合用。

FLAG_FIND_NUMBER_RANGE

符合數字範圍。此標志不能與 FLAG_FIND_ESCAPE 或 FLAG_FIND_REG_EXP 合用。

FLAG_FIND_ONLY_WORD

整個單字需符合。

FLAG_FIND_REG_EXP

使用一個規則運算式。

FLAG_FIND_REMOVE_LAST

刪除前一次添加的篩選級別。

FLAG_FIND_UNBOOKMARKED_ONLY

僅符合未標記書籤的行。此標志不能與 FLAG_FIND_BOOKMARKED_ONLY 合用。

FLAG_FIND_WHOLE_STRING

符合整個字串。

xBegin

指定您想要搜尋的文字的欄位開始的索引 (用邏輯字元數) ;您也可以指定 -1 如果您想要把文字的最後一部分作為 xEnd

xEnd

指定您想要搜尋的文字的欄位結束的索引 (用邏輯字元數) ;您也可以指定 -1 如果您想要搜尋所有剩下的文字。

返回值

返回值是與指定字串相符合的行數。如果指定的字串是一個空字串,返回值是 -1。如果指定的是 FLAG_FIND_CONTINUE,返回值是 0。

版本

支持 EmEditor Professional 14.7 或之後的版本。