CFindReplaceDialog::Create
bFindDialogOnly の値に応じ、[検索] または [置換] ダイアログ ボックス オブジェクトを作成し、表示します。
virtual BOOL Create(
BOOL bFindDialogOnly,
LPCTSTR lpszFindWhat,
LPCTSTR lpszReplaceWith = NULL,
DWORD dwFlags = FR_DOWN,
CWnd* pParentWnd = NULL
);
パラメーター
bFindDialogOnly
このパラメーターを TRUE にすると、[検索] ダイアログ ボックスを表示します。FALSE にしたときは、[置換] ダイアログ ボックスを表示します。lpszFindWhat
ダイアログ ボックスの作成時に表示する既定の検索文字列へのポインター。NULL の場合、ダイアログ ボックスに既定の検索文字列は表示されません。lpszReplaceWith
ダイアログ ボックスの作成時に表示する既定の置換文字列へのポインター。NULL の場合、ダイアログ ボックスに既定の置換文字列は表示されません。dwFlags
ダイアログ ボックスの設定をカスタマイズするための 1 つ以上のフラグを、ビットごとの OR 演算子で組み合わせて指定できます。既定値は、文末方向への検索を示す FR_DOWN です。これらのフラグの詳細については、Windows SDK の FINDREPLACE 構造体の説明を参照してください。pParentWnd
ダイアログ ボックスの親ウィンドウまたはオーナー ウィンドウへのポインター。このウィンドウは、検索または置換の動作が要求されたことを示す特別なメッセージを受け取ります。NULL の場合、アプリケーションのメイン ウィンドウが使用されます。
戻り値
ダイアログ ボックスが正常に作成された場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
親ウィンドウに検索または置換を要求するには、RegisterWindowMessage 関数を使います。この関数の戻り値は、アプリケーションのインスタンス固有のメッセージ番号です。フレーム ウィンドウには、登録したメッセージを処理するコールバック関数 (次の例では OnFindReplace) を宣言したメッセージ マップのエントリが必要です。以下の例は、CMyRichEditView と名付けられたフレーム ウィンドウ クラスでのメッセージ処理の例です。
// Message handler declared in CMyRichEditView class declaration
protected:
afx_msg LONG OnFindReplace(WPARAM wParam, LPARAM lParam);
// Register FindReplace window message.
static UINT WM_FINDREPLACE = ::RegisterWindowMessage(FINDMSGSTRING);
// Message map entry to map from message to handler function.
ON_REGISTERED_MESSAGE(WM_FINDREPLACE, &CMyRichEditView::OnFindReplace)
OnFindReplace 関数の内部では、CFindReplaceDialog::FindNext メソッドと CFindReplaceDialog::IsTerminating メソッドを使用してユーザーの操作を想定し、検索置換の操作をプログラミングします。
使用例
「CFindReplaceDialog::CFindReplaceDialog」の例を参照してください。
必要条件
ヘッダー : afxdlgs.h