ReplaceTextA 関数 (commdlg.h)

検索する文字列と置換文字列、および検索および置換操作を制御するオプションをユーザーが指定できるシステム定義のモードレス ダイアログ ボックスを作成します。

構文

HWND ReplaceTextA(
  [in, out] LPFINDREPLACEA unnamedParam1
);

パラメーター

[in, out] unnamedParam1

型: LPFINDREPLACE

ダイアログ ボックスの初期化に使用される情報を含む FINDREPLACE 構造体へのポインター。 ダイアログ ボックスでは、この構造を使用して、ユーザーの入力に関する情報をアプリケーションに送信します。 詳細については、「解説」を参照してください。

戻り値

型: HWND

関数が成功した場合、戻り値はダイアログ ボックスのウィンドウ ハンドルです。 ウィンドウ ハンドルを使用して、ダイアログ ボックスと通信したり、ダイアログ ボックスを閉じることができます。

関数が失敗した場合は、返される値は NULL です。 拡張エラー情報を取得するには、次のいずれかのエラー コードを返す CommDlgExtendedError 関数を呼び出します。

注釈

ReplaceText 関数は、テキスト置換操作を実行しません。 代わりに、ダイアログ ボックスは 、FINDMSGSTRING 登録済みメッセージをダイアログ ボックスの所有者ウィンドウのウィンドウ プロシージャに送信します。 ダイアログ ボックスを作成すると、FINDREPLACE 構造体の hwndOwner メンバーが所有者ウィンドウへのハンドルになります。

ReplaceText を呼び出す前に、RegisterWindowMessage 関数を呼び出して FINDMSGSTRING メッセージの識別子を取得する必要があります。 ダイアログ ボックスの手順では、この識別子を使用して、ユーザーが [ 次の検索]、[ 置換]、または [ すべて置換 ] ボタンをクリックしたとき、またはダイアログ ボックスが閉じているときにメッセージを送信します。 FINDMSGSTRING メッセージの lParam パラメーターには、FINDREPLACE 構造体へのポインターが含まれています。 この構造体の Flags メンバーは、メッセージの原因となったイベントを示します。 構造体の他のメンバーは、ユーザーの入力を示します。

[置換] ダイアログ ボックスを作成する場合は、アプリケーションの メイン メッセージ ループで IsDialogMessage 関数を使用して、ダイアログ ボックスで TAB キーや ESC キーなどのキーボード入力が正しく処理されるようにする必要もあります。 IsDialogMessage 関数は、[置換] ダイアログ ボックスがメッセージを処理したかどうかを示す値を返します。

[置換] ダイアログ ボックスには、FRHookProc フック プロシージャを指定できます。 フック プロシージャは、ダイアログ ボックスに送信されたメッセージを処理できます。 フック プロシージャを有効にするには、FINDREPLACE 構造体の Flags メンバーにFR_ENABLEHOOK フラグを設定し、lpfnHook メンバーでフック プロシージャのアドレスを指定します。

注意

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

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー commdlg.h (Windows.h を含む)
Library Comdlg32.lib
[DLL] Comdlg32.dll
API セット ext-ms-win-shell-comdlg32-l1-1-1 (Windows 10 バージョン 10.0.14393 で導入)

こちらもご覧ください

CommDlgExtendedError

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

概念

FINDREPLACE

FRHookProc

IsDialogMessage

リファレンス

RegisterWindowMessage

WM_CTLCOLORDLG