Функция FindText


Функция FindText создает определяемое системой не модальное диалоговое окно Найти (Find), которое дает возможность пользователю, задавать строку символов для поиска и используемые параметры, когда происходит поиск текста в документе.

Синтаксис

HWND FindText(
    LPFINDREPLACE lpfr
);

Параметры

lpfr

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

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

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

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

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

Замечания

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

Перед обращением к функции FindText, вы должны вызвать функцию RegisterWindowMessage, чтобы получить идентификатор для сообщения FINDMSGSTRING. Процедура диалогового окна использует этот идентификатор, чтобы отправлять сообщения, когда пользователь щелкает мышью по кнопке Искать дальше (Find Next), или когда диалоговое окно закрывается. Параметр lParam сообщения FINDMSGSTRING содержит указатель на структуру FINDREPLACE. Член Flags этой структуры указывает событие, которое вызвало сообщение. Другие члены структуры указывают ввод данных пользователем.

Если вы создаете диалоговое окно Найти (Find), вы должны также использовать и функцию IsDialogMessage в основном цикле обработки сообщений вашей прикладной программы, чтобы гарантировать, что диалоговое окно правильно обрабатывает вводимые данные с клавиатуры, типа клавиш TAB и ESC. IsDialogMessage возвращает значение, которое указывает, обработало ли диалоговое окно Найти (Find) сообщение.

Вы можете предусмотреть фильтр - процедуру FRHookProc для диалогового окна Найти (Find). Фильтр - процедура может обрабатывать сообщения, отправляемые в диалоговое окно. Чтобы разрешить работу фильтр - процедуры, установите флажок FR_ENABLEHOOK в члене Flags структуры FINDREPLACE и установите адрес этой процедуры в члене lpfnHook.

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

Пример

Пример смотри в статье  Поиск текста.

Смотри также 

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

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

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