CFindReplaceDialog::Create
Создает и отображает или найти или найти и заменить объект диалогового окна, в зависимости от значения bFindDialogOnly.
virtual BOOL Create(
BOOL bFindDialogOnly,
LPCTSTR lpszFindWhat,
LPCTSTR lpszReplaceWith = NULL,
DWORD dwFlags = FR_DOWN,
CWnd* pParentWnd = NULL
);
Параметры
bFindDialogOnly
Установите этот параметр в TRUE для отображения диалогового окна Найти.Присвойте ему значение FALSE для отображения диалогового окна Find/Replace.lpszFindWhat
Указатель на строку поиска по умолчанию, когда диалоговое окно отображается.Если NULL диалоговое окно " по умолчанию не содержит строку поиска.lpszReplaceWith
Указатель на строку замены по умолчанию, когда диалоговое окно отображается.Если NULL диалоговое окно " по умолчанию не содержит строку замены.dwFlags
Один или несколько флаги, которые можно использовать для настройки параметры диалогового окна, объединенных с помощью побитовое ИЛИ оператор.Значение по умолчанию FR_DOWN, которое определяет, что поиск продолжить в ухудшающемся направлении.См. раздел структуры FINDREPLACE в Windows SDK дополнительные сведения об этих флагах.pParentWnd
Указатель на окно родительского объекта или владелец диалогового окна.Это окно, которое обращается специальное сообщение, указывающее, что найти и заменить действие.Если используется NULL, главное окно приложения.
Возвращаемое значение
Ненулевой диалогового окна, если объект был успешно создан; в противном случае – значение 0.
Заметки
Для этого родительское окно для уведомления поиска и замените запросы, необходимо использовать функции Windows 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