4.36.1.10 - Функция ReplaceText

(ЗаменитьТекст)

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

Синтаксис

HWND ReplaceText
(
    LPFINDREPLACE lpfr 	// указатель на структуру с данными инициализации
);

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

Возвращаемые значения
Если функция завершается успешно, возвращаемое значение - дескриптор окна блока диалога. Вы можете использовать дескриптор окна, чтобы установить связь диалоговым окном или закрыть его.
Если функция потерпит неудачу, возвращаемое значение - ПУСТО (NULL). Чтобы получить расширенные данные об ошибках, вызовите функцию CommDlgExtendedError, которая может возвратить один из ниже перечисленных кодов ошибки:

CDERR_FINDRESFAILURE	CDERR_MEMLOCKFAILURE
CDERR_INITIALIZATION	CDERR_NOHINSTANCE
CDERR_LOADRESFAILURE	CDERR_NOHOOK
CDERR_LOADSTRFAILURE	CDERR_NOTEMPLATE
CDERR_LOCKRESFAILURE	CDERR_STRUCTSIZE
CDERR_MEMALLOCFAILURE	FRERR_BUFFERLENGTHZERO

Замечания
Функция ReplaceText не выполняет операцию замены текста. Вместо этого, диалоговое окно посылает зарегистрированные сообщения FINDMSGSTRING оконной процедуре окна владельца диалогового окна. Когда вы создаете диалоговое окно, элемент hwndOwner структуры FINDREPLACE идентифицирует окно владельца.
Перед вызовом ReplaceText, вы должны вызвать функцию RegisterWindowMessage, чтобы получить идентификатор для сообщения FINDMSGSTRING. Процедура диалогового окна использует этот идентификатор, чтобы посылать сообщения, когда пользователь щелкает по кнопкам Искать Дальше (Find Next), Заменить (Replace), или Заменить Все (Replace All), или когда диалоговое окно закрывается. Параметр lParam сообщения FINDMSGSTRING содержит указатель на структуру FINDREPLACE. Элемент Flags этой структуры указывает событие, которое вызвало сообщение. Другие элементы структуры указывают введенные данные пользователем.
Если вы создаете диалоговое окно Заменить (Replace), вы должны также использовать функцию IsDialogMessage в основном цикле обработки сообщений вашей прикладной программы, чтобы гарантировать, что диалоговое окно правильно обрабатывает ввод данных с клавиатуры, таких как клавиши TAB и ESC. Функция IsDialogMessage возвращает значение, которое указывает, обработало ли диалоговое окно Заменить (Replace) сообщение.
Вы можете предоставить для диалогового окна Заменить (Replace) фильтр - процедуру FRHOOKPROC. Фильтр - процедура может обрабатывать сообщения, посылаемые в диалоговое окно. Чтобы разрешать действие фильтр - процедуры, установите флажок FR_ENABLEHOOK в элементе Flags структуры FINDREPLACE и установите ее адрес в элементе lpfnHook.

Смотри также
CommDlgExtendedError, FINDREPLACE, FRHookProc, IsDialogMessage, RegisterWindowMessage, WM_CTLCOLORDLG

Размещение и совместимость ReplaceText

Windows NT			Да 
Win95				Да 
Win32s				Да 
Импортируемая библиотека		comdlg32.lib 
Заголовочный файл			commdlg.h 
Уникод				WinNT 
Замечания по платформе		Не имеется

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Владимир Соковиков - 17.04.2002