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 メッセージを呼ぶ際にフィルターをクリアしないことを示します。この EE_FILTER メッセージの直後には、フィルターが適用されず、次のメッセージまでフィルターの適用を待ちます。このフラグは複数レベルのフィルタを作成する時に使用します。FLAG_FIND_KEEP_PREVIOUS フラグと似ていますが、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_LF_ONLY

改行コードが LF のみの行に一致します。このフラグは、FLAG_FIND_MATCH_NL と一緒に指定する必要があります。

FLAG_FIND_LOGICAL_OR

複数レベルのフィルターの場合、以前のレベルに論理和 (論理 OR) でフィルターを実行します。

FLAG_FIND_LINK_FILE

szFilter が改行で分割された複数の検索文字列を含むリンク ファイルへのファイルのパスであることを指定します。行にタブ文字が含まれている場合、検索文字列はタブを含まない最初の文字列になります。 szFilter は 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

検索したいテキストの開始位置のインデックスを論理文字単位で指定します。テキストの最後から数えて xEnd で指定する場合には -1 を指定します。このフィールドを有効にするには iColumn フィールドに -2 を指定する必要があります。

xEnd

検索したいテキストの終了位置のインデックスを論理文字単位で指定します。最後まで全部を検索する場合には -1 を指定します。このフィールドを有効にするには iColumn フィールドに -2 を指定する必要があります。

戻り値

戻り値は、指定する文字列に一致する行数になります。指定文字列が空の場合、戻り値は -1 になります。FLAG_FIND_CONTINUE が指定されている場合、戻り値は 0 になります。

バージョン

Version 14.7 以上で利用できます。