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
[検索] または [置換] ダイアログ ボックスを初期化するときに設定した場合、[単語全体に一致する] チェック ボックスは非表示になります。
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
設定すると、[ 単語全体に一致する] チェック ボックスがオンになります。検索文字列に一致する単語全体のみを検索する必要があることを示します。 設定されていない場合、チェック ボックスはオフになるため、検索文字列に一致する単語フラグメントも検索する必要があります。 このフラグを設定して、ダイアログ ボックスを初期化できます。 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 フラグが設定されていない限 り、この メンバーは無視されます。 WM_INITDIALOG メッセージに応答してフック プロシージャが FALSE を返す場合、フック プロシージャはダイアログ ボックスを表示する必要があります。そうしないと、ダイアログ ボックスは表示されません。 これを行うには、まず他のペイント操作を実行してから、 ShowWindow 関数と UpdateWindow 関数を呼び出します。

lpTemplateName

型: LPCTSTR

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

注釈

注意

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

要件

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

こちらもご覧ください

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

概念

FRHookProc

Findtext

MAKEINTRESOURCE

リファレンス

ReplaceText

Showwindow

WM_INITDIALOG