4.36.1.4 - Функция FindText

(НайтиТекст)

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

Синтаксис

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

Параметры
lpfr
Указатель на структуру 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.

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

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

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

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