次の方法で共有


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

参照

関連項目

CFindReplaceDialog クラス

階層図

CFindReplaceDialog::CFindReplaceDialog