FINDREPLACEA 構造体 (commdlg.h)

FindText 関数と ReplaceText 関数が [検索] ダイアログ ボックスと [置換] ダイアログ ボックスを初期化するために使用する情報を格納します。 FINDMSGSTRING 登録済みメッセージは、この構造体を使用して、ユーザーの検索または置換の入力を [検索または置換] ダイアログ ボックスの所有者ウィンドウに渡します。

構文

typedef struct tagFINDREPLACEA {
  DWORD        lStructSize;
  HWND         hwndOwner;
  HINSTANCE    hInstance;
  DWORD        Flags;
  LPSTR        lpstrFindWhat;
  LPSTR        lpstrReplaceWith;
  WORD         wFindWhatLen;
  WORD         wReplaceWithLen;
  LPARAM       lCustData;
  LPFRHOOKPROC lpfnHook;
  LPCSTR       lpTemplateName;
} FINDREPLACEA, *LPFINDREPLACEA;

メンバー

lStructSize

型: DWORD

構造体の長さ (バイト単位)。

hwndOwner

型: HWND

ダイアログ ボックスを所有するウィンドウへのハンドル。 指定されたウィンドウのウィンドウ プロシージャは、ダイアログ ボックスから FINDMSGSTRING メッセージを受信します。 このメンバーには任意の有効なウィンドウ ハンドルを指定できますが、 NULL にすることはできません。

hInstance

種類: HINSTANCE

FR_ENABLETEMPLATEHANDLE フラグが Flags で設定されている場合、hInstance はダイアログ ボックス テンプレートを含むメモリ オブジェクトへのハンドルです。 FR_ENABLETEMPLATE フラグが設定されている場合、hInstancelpTemplateName メンバーによって名前付けされたダイアログ ボックス テンプレートを含むモジュールへのハンドルです。 どちらのフラグも設定されていない場合、このメンバーは無視されます。

Flags

型: DWORD

ダイアログ ボックスの初期化に使用できるビット フラグのセット。 ダイアログ ボックスは、ユーザーの入力を示す FINDMSGSTRING 登録済みメッセージを送信するときに、これらのフラグを設定します。 このメンバーには、次の値の 1 つ以上を指定できます。

意味
FR_DIALOGTERM
0x00000040
FINDMSGSTRING メッセージで 設定されている場合は、ダイアログ ボックスが閉じてことを示します。 このフラグが設定されたメッセージを受信すると、 FindText 関数または ReplaceText 関数によって返されるダイアログ ボックス ハンドルは無効になります。
FR_DOWN
0x00000001
設定すると、[検索] ダイアログ ボックスの方向オプション ボタンの [下へ] ボタンが選択され、現在の場所から文書の末尾まで検索する必要があることを示します。 設定されていない場合は、[ 上へ ] ボタンが選択されるため、ドキュメントの先頭まで検索する必要があります。 このフラグを設定して、ダイアログ ボックスを初期化できます。 FINDMSGSTRING メッセージに設定されている場合は、ユーザーの選択を示します。
FR_ENABLEHOOK
0x00000100
lpfnHook メンバーで指定されたフック関数を有効にします。 このフラグは、ダイアログ ボックスを初期化するためにのみ使用されます。
FR_ENABLETEMPLATE
0x00000200
hInstance メンバーと lpTemplateName メンバーが、既定のテンプレートの代わりに使用するダイアログ ボックス テンプレートを指定することを示します。 このフラグは、ダイアログ ボックスを初期化するためにのみ使用されます。
FR_ENABLETEMPLATEHANDLE
0x00002000
hInstance メンバーが、事前に読み込まれたダイアログ ボックス テンプレートを含むデータ ブロックを識別することを示します。 このフラグが指定されている場合、システムは lpTemplateName メンバーを無視します。
FR_FINDNEXT
0x00000008
FINDMSGSTRING メッセージに設定されている場合は、ユーザーが [検索または置換] ダイアログ ボックスの [検索] ボタンをクリックしたことを示します。 lpstrFindWhat メンバーは、検索する文字列を指定します。
FR_HIDEUPDOWN
0x00004000
[検索] ダイアログ ボックスを初期化するときに設定すると、検索方向のラジオ ボタンが非表示になります。
FR_HIDEMATCHCASE
0x00008000
[検索または置換] ダイアログ ボックスを初期化するときに設定した場合、[大文字と小文字の区別] チェック ボックスは非表示になります。
FR_HIDEWHOLEWORD
0x00010000
[検索] または [置換] ダイアログ ボックスを初期化するときに設定した場合、[Word全体に一致] チェックボックスが非表示になります。
FR_MATCHCASE
0x00000004
設定すると、[大文字と小文字を区別する] チェックボックスが選択され、検索で大文字と小文字が区別されます。 設定されていない場合、チェック ボックスは選択されていないため、検索では大文字と小文字が区別されません。 このフラグを設定して、ダイアログ ボックスを初期化できます。 FINDMSGSTRING メッセージに設定されている場合は、ユーザーの選択を示します。
FR_NOMATCHCASE
0x00000800
[検索] または [置換] ダイアログ ボックスを初期化するときに設定した場合、[大文字と小文字の区別] チェック ボックスが無効になります。
FR_NOUPDOWN
0x00000400
[検索] ダイアログ ボックスを初期化するときに設定した場合、検索方向のラジオ ボタンが無効になります。
FR_NOWHOLEWORD
0x00001000
[検索] または [置換] ダイアログ ボックスを初期化するときに設定した場合、[Word全体] チェック ボックスが無効になります。
FR_REPLACE
0x00000010
FINDMSGSTRING メッセージで設定されている場合は、ユーザーが [置換] ダイアログ ボックスの [置換] ボタンをクリックしたことを示します。 lpstrFindWhat メンバーは置換する文字列を指定し、lpstrReplaceWith メンバーは置換文字列を指定します。
FR_REPLACEALL
0x00000020
FINDMSGSTRING メッセージに設定されている場合は、ユーザーが [置換] ダイアログ ボックスの [すべて置換] ボタンをクリックしたことを示します。 lpstrFindWhat メンバーは置換する文字列を指定し、lpstrReplaceWith メンバーは置換文字列を指定します。
FR_SHOWHELP
0x00000080
ダイアログ ボックスに [ヘルプ ] ボタンが表示されます。 hwndOwner メンバーは、ユーザーが [ヘルプ] ボタンをクリックしたときにダイアログ ボックスが送信する HELPMSGSTRING 登録済みメッセージを受信するウィンドウを指定する必要があります。
FR_WHOLEWORD
0x00000002
設定した場合は、検索文字列に一致する単語全体のみを検索する必要があることを示す [Word全体に一致するチェック] ボックスが選択されます。 設定されていない場合、チェック ボックスは選択されていないため、検索文字列に一致する単語フラグメントも検索する必要があります。 このフラグを設定して、ダイアログ ボックスを初期化できます。 FINDMSGSTRING メッセージに設定されている場合は、ユーザーの選択を示します。

lpstrFindWhat

種類: LPTSTR

ユーザーが [ 検索 対象] 編集コントロールに入力した検索文字列。 ダイアログ ボックスが閉じる前にスコープ外に出ないように、バッファーを動的に割り当てるか、グローバル配列または静的配列を使用する必要があります。 バッファーの長さが 80 文字以上である必要があります。 ダイアログ ボックスを初期化するときにバッファーに文字列が含まれている場合、文字列は [ 検索 対象] 編集コントロールに表示されます。 FINDMSGSTRING メッセージで FR_FINDNEXT フラグが指定されている場合、lpstrFindWhat には検索する文字列が含まれます。 FR_DOWNFR_WHOLEWORDおよびFR_MATCHCASEフラグは、検索の方向と種類を示します。 FINDMSGSTRING メッセージがFR_REPLACEまたはFR_REPLACEフラグを指定した場合、lpstrFindWhat には置換する文字列が含まれます。

lpstrReplaceWith

種類: LPTSTR

ユーザーが [置換後の文字列] 編集コントロールに入力した 置換 文字列。 ダイアログ ボックスが閉じる前にスコープ外に出ないように、バッファーを動的に割り当てるか、グローバル配列または静的配列を使用する必要があります。 ダイアログ ボックスを初期化するときにバッファーに文字列が含まれている場合、文字列は [ 置換 後の編集] コントロールに表示されます。

FINDMSGSTRING メッセージがFR_REPLACEフラグまたはFR_REPLACEALL フラグを指定する場合、lpstrReplaceWith には置換文字列 が含まれます。

FindText 関数は、このメンバーを無視します。

wFindWhatLen

種類: WORD

lpstrFindWhat メンバーが指すバッファーの長さ (バイト単位)。

wReplaceWithLen

種類: WORD

lpstrReplaceWith メンバーが指すバッファーの長さ (バイト単位)。

lCustData

型: LPARAM

システムが lpfnHook メンバーによって識別されるフック・プロシージャーに渡すアプリケーション定義データ。 システムが WM_INITDIALOG メッセージをフック・プロシージャーに送信する場合、メッセージの lParam パラメーターは、ダイアログの作成時に指定された FINDREPLACE 構造体へのポインターです。 フック プロシージャでは、このポインターを使用して lCustData 値を取得できます。

lpfnHook

種類: LPFRHOOKPROC

ダイアログ ボックス用のメッセージを処理できる FRHookProc フック プロシージャへのポインター。 FR_ENABLEHOOK フラグがFlags メンバーに設定されていない限り、このメンバーは無視されます。 フック プロシージャがWM_INITDIALOG メッセージに応答して FALSE を返す場合、フック プロシージャはダイアログ ボックスを表示する必要があります。そうしないと、ダイアログ ボックスは表示されません。 これを行うには、最初に他のペイント操作を実行してから、 ShowWindow 関数と UpdateWindow 関数を呼び出します。

lpTemplateName

種類: LPCTSTR

hInstance メンバーによって識別されるモジュール内のダイアログ ボックス テンプレート リソースの名前。 このテンプレートは、標準のダイアログ ボックス テンプレートに置き換えられます。 番号付きダイアログ ボックス リソースの場合、 MAKEINTRESOURCE マクロによって返される値を指定できます。 FR_ENABLETEMPLATE フラグがFlags メンバーに設定されていない限り、このメンバーは無視されます。

注釈

注意

commdlg.h ヘッダーは、FINDREPLACE をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
Header commdlg.h (Windows.h を含む)

こちらもご覧ください

共通ダイアログ ボックス ライブラリ

概念

FRHookProc

Findtext

MAKEINTRESOURCE

リファレンス

ReplaceText

Showwindow

WM_INITDIALOG