Перед созданием диалогового окна Поиск и Замена , необходимо вызвать функцию RegisterWindowMessage для того чтобы получить идентификатор сообщения для зарегистрированного сообщения FINDMSGSTRING . Затем можно использовать идентификатор для обнаружения и обработки сообщений, отправленных из диалогового окна. Когда пользователь нажимает кнопку Найти далее, заменитьили Заменить все кнопку в диалоговом окне, процедуру диалогового окна отправляет FINDMSGSTRING сообщение процедуре окна окна-владельца. При создании диалогового окна, hwndOwner член FINDREPLACE структуры идентифицирует владельца окна.
Параметр lParam сообщения FINDMSGSTRING — указатель на структуру FINDREPLACE , которая была указана при создании диалогового окна. Перед отправкой сообщения диалогового окна поле наборы члены этой структуры с последним пользователем ввод, включая искомая строка, строка замены (если таковой имеется) и параметры для операции поиска и замены.
В сообщении FINDMSGSTRING флаги член FINDREPLACE структуры включает один из следующих флагов для обозначения события, которое вызвало сообщение.
Флаг | Значение |
---|---|
FR_DIALOGTERM | Закрытие диалогового окна. После того, как окно-владелец обрабатывает это сообщение, дескриптор диалогового окна больше не является допустимым. |
FR_FINDNEXT | Пользователь нажал кнопку Найти далее , в диалоговом окне Поиск и Замена . Элемент lpstrFindWhat указывает строку для поиска. |
FR_REPLACE | Пользователь нажал кнопку « заменить » в диалоговом окне заменить . Член lpstrFindWhat указывает строку для замены и lpstrReplaceWith член определяет строку замены. |
FR_REPLACEALL | Пользователь нажал кнопку Заменить все в диалоговом окне заменить . Член lpstrFindWhat указывает строку для замены и lpstrReplaceWith член определяет строку замены. |
Найти далее или Заменить все сообщения флаги член может включать любую комбинацию следующих флагов для указания параметров поиска.
Флаг | Значение |
---|---|
FR_DOWN | Если установлен, вниз направлении переключателей выбран переключатель, указывающий, что пользователь хочет Поиск от текущей позиции до конца документа. Если FR_DOWN не задано, кнопка вверх выбрана так, что пользователь хочет поиска до начала документа. |
FR_MATCHCASE | Если установлен флажок установлен, флажок Учитывать регистр , указывающий, что пользователь хочет, чтобы поиск регистра. Если FR_MATCHCASE не задано, этот флажок не установлен, так что поиск должен быть без учета регистра. |
FR_WHOLEWORD | Если установлен флажок установлен, флажок Совпадают только целиком слово , указывающее, что пользователь хочет искать только целые слова, совпадающие строки поиска. Если FR_WHOLEWORD не задано, этот флажок не установлен, так что вам следует также искать частей слов строки поиска. |