Функция 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 |
Нет |
Замечания по платформе |
Не имеется |