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 フラグが設定されている場合、hInstance は lpTemplateName メンバーによって名前付けされたダイアログ ボックス テンプレートを含むモジュールへのハンドルです。 どちらのフラグも設定されていない場合、このメンバーは無視されます。
Flags
型: DWORD
ダイアログ ボックスの初期化に使用できるビット フラグのセット。 ダイアログ ボックスは、ユーザーの入力を示す FINDMSGSTRING 登録済みメッセージを送信するときに、これらのフラグを設定します。 このメンバーには、次の値の 1 つ以上を指定できます。
値 | 意味 |
---|---|
|
FINDMSGSTRING メッセージで 設定されている場合は、ダイアログ ボックスが閉じてことを示します。 このフラグが設定されたメッセージを受信すると、 FindText 関数または ReplaceText 関数によって返されるダイアログ ボックス ハンドルは無効になります。 |
|
設定すると、[検索] ダイアログ ボックスの方向オプション ボタンの [下へ] ボタンが選択され、現在の場所から文書の末尾まで検索する必要があることを示します。 設定されていない場合は、[ 上へ ] ボタンが選択されるため、ドキュメントの先頭まで検索する必要があります。 このフラグを設定して、ダイアログ ボックスを初期化できます。 FINDMSGSTRING メッセージに設定されている場合は、ユーザーの選択を示します。 |
|
lpfnHook メンバーで指定されたフック関数を有効にします。 このフラグは、ダイアログ ボックスを初期化するためにのみ使用されます。 |
|
hInstance メンバーと lpTemplateName メンバーが、既定のテンプレートの代わりに使用するダイアログ ボックス テンプレートを指定することを示します。 このフラグは、ダイアログ ボックスを初期化するためにのみ使用されます。 |
|
hInstance メンバーが、事前に読み込まれたダイアログ ボックス テンプレートを含むデータ ブロックを識別することを示します。 このフラグが指定されている場合、システムは lpTemplateName メンバーを無視します。 |
|
FINDMSGSTRING メッセージに設定されている場合は、ユーザーが [検索または置換] ダイアログ ボックスの [次の検索] ボタンをクリックしたことを示します。 lpstrFindWhat メンバーは、検索する文字列を指定します。 |
|
[検索] ダイアログ ボックスを初期化するときに設定すると、検索方向のラジオ ボタンが非表示になります。 |
|
[検索または置換] ダイアログ ボックスを初期化するときに設定した場合、[大文字と小文字の区別] チェック ボックスは非表示になります。 |
|
[検索] または [置換] ダイアログ ボックスを初期化するときに設定した場合、[Word全体に一致] チェックボックスが非表示になります。 |
|
設定すると、[大文字と小文字を区別する] チェックボックスが選択され、検索で大文字と小文字が区別されます。 設定されていない場合、チェック ボックスは選択されていないため、検索では大文字と小文字が区別されません。 このフラグを設定して、ダイアログ ボックスを初期化できます。 FINDMSGSTRING メッセージに設定されている場合は、ユーザーの選択を示します。 |
|
[検索] または [置換] ダイアログ ボックスを初期化するときに設定した場合、[大文字と小文字の区別] チェック ボックスが無効になります。 |
|
[検索] ダイアログ ボックスを初期化するときに設定した場合、検索方向のラジオ ボタンが無効になります。 |
|
[検索] または [置換] ダイアログ ボックスを初期化するときに設定した場合、[Word全体] チェック ボックスが無効になります。 |
|
FINDMSGSTRING メッセージで設定されている場合は、ユーザーが [置換] ダイアログ ボックスの [置換] ボタンをクリックしたことを示します。 lpstrFindWhat メンバーは置換する文字列を指定し、lpstrReplaceWith メンバーは置換文字列を指定します。 |
|
FINDMSGSTRING メッセージに設定されている場合は、ユーザーが [置換] ダイアログ ボックスの [すべて置換] ボタンをクリックしたことを示します。 lpstrFindWhat メンバーは置換する文字列を指定し、lpstrReplaceWith メンバーは置換文字列を指定します。 |
|
ダイアログ ボックスに [ヘルプ ] ボタンが表示されます。 hwndOwner メンバーは、ユーザーが [ヘルプ] ボタンをクリックしたときにダイアログ ボックスが送信する HELPMSGSTRING 登録済みメッセージを受信するウィンドウを指定する必要があります。 |
|
設定した場合は、検索文字列に一致する単語全体のみを検索する必要があることを示す [Word全体に一致するチェック] ボックスが選択されます。 設定されていない場合、チェック ボックスは選択されていないため、検索文字列に一致する単語フラグメントも検索する必要があります。 このフラグを設定して、ダイアログ ボックスを初期化できます。 FINDMSGSTRING メッセージに設定されている場合は、ユーザーの選択を示します。 |
lpstrFindWhat
種類: LPTSTR
ユーザーが [ 検索 対象] 編集コントロールに入力した検索文字列。 ダイアログ ボックスが閉じる前にスコープ外に出ないように、バッファーを動的に割り当てるか、グローバル配列または静的配列を使用する必要があります。 バッファーの長さが 80 文字以上である必要があります。 ダイアログ ボックスを初期化するときにバッファーに文字列が含まれている場合、文字列は [ 検索 対象] 編集コントロールに表示されます。 FINDMSGSTRING メッセージで FR_FINDNEXT フラグが指定されている場合、lpstrFindWhat には検索する文字列が含まれます。 FR_DOWN、FR_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 を含む) |
こちらもご覧ください
概念
リファレンス