Функция ReplaceText


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

Синтаксис

HWND ReplaceText(
    LPFINDREPLACE lpfr
);

Параметры

lpfr

[in, out]  Указатель на структуру 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 установите ее адрес .

Windows 95/98/Me: ReplaceTextW поддерживается программой Microsoft Layer for Unicode (MSLU). Чтобы использовать ее, Вы должны добавить некоторые файлы к вашему приложению, как изложено в описании Microsoft Layer for Unicode для системы Windows 95/98/Me.

Смотри также 

Обзор Библиотека стандартных диалоговых оконФункции, используемые библиотекой стандартных диалоговых окон, CommDlgExtendedError, FINDREPLACE, FRHookProc, IsDialogMessage, RegisterWindowMessage, WM_CTLCOLORDLG

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

Windows. NET Server

Да

Windows XP

Да

Windows 2000

Да

Windows NT

Да версии 3.1 и выше

Windows Me

Да

Windows 98

Да

Windows 95

Да

Используемая библиотека

Comdlg32.lib

Заголовочный файл

 

- объявлено в

Commdlg.h

- включено в

Windows.h

Unicode

Нет

Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz