CFindReplaceDialog クラス
更新 : 2007 年 11 月
標準の文字列の検索用と置換用ダイアログ ボックスを実装できます。
class CFindReplaceDialog : public CCommonDialog
解説
ほかのコモン ダイアログ ボックスとは違って、CFindReplaceDialog オブジェクトはダイアログ ボックスの表示中にほかのウィンドウと対話できるモードレス ダイアログ ボックスです。CFindReplaceDialog オブジェクトは 2 種類あります。[検索] ダイアログ ボックスと [置換] ダイアログ ボックスです。ダイアログ ボックスに検索用および検索置換用の文字列を入力できますが、検索用または置換用の関数は実行されません。このような関数をアプリケーションに追加する必要があります。
CFindReplaceDialog オブジェクトを構築するには、用意されている引数を持たないコンストラクタを使います。このダイアログ ボックスはモードレス ダイアログ ボックスなので、オブジェクトはスタック上ではなく、new 演算子を使ってヒープ領域に確保されます。
CFindReplaceDialog オブジェクトを構築したら、Create メンバ関数を呼び出して、ダイアログ ボックスを作成し、表示します。
Create メンバ関数を呼び出す前に、m_fr 構造体を使ってダイアログ ボックスを初期化します。m_fr 構造体の型は、FINDREPLACE です。この構造体の詳細については、Windows SDK を参照してください。
親ウィンドウに検索または置換を要求するときは、Windows の RegisterWindowMessage 関数を使用します。さらに、登録されたメッセージを処理する ON_REGISTERED_MESSAGE メッセージ マップ マクロをフレーム ウィンドウで使用します。クラス メンバのトピックの「操作」に記述されているすべてのメンバ関数を呼び出すことができます。
フレーム ウィンドウのコールバック関数の CFindReplaceDialogクラスのメンバの表を参照してください。
ダイアログ ボックスが終了したかどうかを調べるには、IsTerminating メンバ関数を使います。
CFindReplaceDialog は、Windows Versions 3.1 以降で配布される COMMDLG.DLL ファイルを使います。
ダイアログ ボックスをカスタマイズするには、CFindReplaceDialog からクラスを派生し、独自のダイアログ テンプレートを作成します。さらに、外部のコントロールからの通知メッセージを処理するためにメッセージ マップを追加します。処理されないメッセージは基本クラスに渡されます。
フック関数のカスタマイズは必要ありません。
CFindReplaceDialog の使い方の詳細については、「コモン ダイアログ クラス」を参照してください。
必要条件
ヘッダー : afxdlgs.h
スマート デバイス開発者のためのメモ
m_fr データ メンバの FR_WHOLEWORD フラグは、Windows CE ベースのプロジェクトではサポートされていません。CFindReplaceDialog::MatchWholeWord は、[完全に一致する単語だけを検索する] チェック ボックスをオンにしている場合でも正しく機能しません。