Поделиться через


Функция ReplaceTextA (commdlg.h)

Создает системное диалоговое окно без режима, позволяющее пользователю указать строку для поиска и замены, а также параметры управления операциями поиска и замены.

Синтаксис

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

Параметры

[in, out] unnamedParam1

Тип: LPFINDREPLACE

Указатель на структуру FINDREPLACE, содержащую сведения, используемые для инициализации диалогового окна. В диалоговом окне эта структура используется для отправки сведений о входных данных пользователя в приложение. Дополнительные сведения см. в следующем разделе "Примечания".

Возвращаемое значение

Тип: HWND

Если функция выполнена успешно, возвращаемое значение является дескриптором окна в диалоговом окне. Вы можете использовать дескриптор окна для взаимодействия с диалоговым окном или закрыть его.

Если функция завершается ошибкой, возвращаемое значение равно NULL. Чтобы получить расширенные сведения об ошибке, вызовите функцию CommDlgExtendedError, которая может возвращать один из следующих кодов ошибок:

Замечания

Функция ReplaceText не выполняет операцию замены текста. Вместо этого диалоговое окно отправляет FINDMSGSTRING зарегистрированные сообщения в процедуру окна владельца диалогового окна. При создании диалогового окна hwndOwner элемент структуры FINDREPLACE является дескриптором окна владельца.

Перед вызовом ReplaceTextнеобходимо вызвать функцию RegisterWindowMessage, чтобы получить идентификатор сообщения FINDMSGSTR ING. Процедура диалогового окна использует этот идентификатор для отправки сообщений, когда пользователь нажимает кнопку Найти следующую, Заменитьили Заменить все кнопки или при закрытии диалогового окна. Параметр lParam сообщения FINDMSGSTRING содержит указатель на структуру FINDREPLACE. Флаги этой структуры указывают на событие, вызвавшее сообщение. Другие члены структуры указывают на входные данные пользователя.

При создании диалогового окна замены необходимо также использовать функцию IsDialogMessage в основном цикле сообщений приложения, чтобы диалоговое окно правильно обрабатывало ввод клавиатуры, например клавиши TAB и ESC. Функция isDialogMessage возвращает значение, указывающее, обработано ли диалоговое окно "Замена".

Вы можете указать процедуру перехватчика FRHookProc для диалогового окна замены. Процедура перехватчика может обрабатывать сообщения, отправленные в диалоговое окно. Чтобы включить процедуру перехватчика, задайте флаг FR_ENABLEHOOK в элементе флагов FINDREPLACE и укажите адрес процедуры перехватчика в элементе lpfnHook.

Заметка

Заголовок commdlg.h определяет ReplaceText как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка commdlg.h (включая Windows.h)
библиотеки 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