Зарегистрированное сообщение FINDMSGSTRING


Перед созданием диалогового окна Найти (Find) или Заменить (Replace), Вы должны вызвать функцию RegisterWindowMessage, чтобы получить идентификатор зарегистрированного сообщения FINDMSGSTRING. Затем Вы можете  использовать этот идентификатор, чтобы определять и обрабатывать сообщения, отправляемые из диалогового окна. Когда пользователь щелкает мышью по кнопке диалогового окна Искать дальше (Find Next), Заменить (Replace) или Заменить все (Replace All), процедура диалогового окна отправляет сообщение FINDMSGSTRING в оконную процедуру окна владельца. Когда вы создаете диалоговое окно, член hwndOwner структуры FINDREPLACE идентифицирует окно владельца.

Параметр lParam сообщения FINDMSGSTRING указывает на структуру FINDREPLACE, которую вы определили, когда создавали диалоговое окно. Перед отправкой сообщения, диалоговое окно устанавливает в членах этой структуры самые последние введенные пользователем данные, включая последовательность символов для поиска, замены этой последовательности (если она имеется) и параметрами для операции поиска и замены.

В сообщение FINDMSGSTRING, в член Flags структуры FINDREPLACE, включаются один из ниже перечисленных флажков, чтобы указать на событие, которое вызвало сообщение.

Флажок Предназначение
FR_DIALOGTERM Закрывает диалоговое окно . После того как окно владелец обработает это сообщение, дескриптор диалогового окна больше не допустим.
FR_FINDNEXT Пользователь щелкнул мышью по кнопке Искать дальше (Find Next) в диалоговом окне Найти (Find) или Заменить (Replace). Член структуры lpstrFindWhat определяет последовательность символов для поиска.
FR_REPLACE Пользователь щелкнул мышью по кнопке Заменить (Replace) в диалоговом окне Заменить (Replace). Член структуры lpstrFindWhat определяет последовательность символов, которая заменяется, а член структуры lpstrReplaceWith устанавливает последовательность символов, на которую надо заменить.
FR_REPLACEALL Пользователь щелкнул мышью по кнопке Заменить все (Replace All) в диалоговом окне Заменить (Replace). Член структуры lpstrFindWhat определяет последовательность символов, которую надо заменить, а член структуры lpstrReplaceWith устанавливает последовательность символов, на которую надо заменить.

В сообщении от элементов Искать дальше (Find Next) или Заменить все (Replace All), член структуры Flags может включать любую комбинацию ниже перечисленных флажков, которые указывают параметры поиска.

Флажок Предназначение
FR_DOWN Если установлен, то из радио-кнопок направления выбрана кнопка Вперед  (Down), которая указывает, что пользователь желает искать от текущего положения каретки в тексте до конца документа. Если флажок FR_DOWN не установлен, выбрана кнопка Назад (Up), что означает, что пользователь желает осуществлять поиск к началу документа.
FR_MATCHCASE Если флажок установлен, в отмечаемом блоке С учетом регистра (Match Case) стоит галочка, показывая, что пользователь желает, чтобы поиск был чувствителен к регистру. Если FR_MATCHCASE не установлен, в отмечаемом блоке галочки нет, так что поиск должен быть не чувствительным к регистру.
FR_WHOLEWORD Если флажок установлен, в отмечаемом блоке Соответствовать слову только целиком (Match Whole Word Only) стоит галочка, показывая, что пользователь желает осуществить поиск только для целого слова, которое соответствует поисковой последовательности символов. Если FR_WHOLEWORD не установлен, в отмечаемом блоке галочка не стоит, тогда вы должны также осуществлять поиск фрагмента слова, который соответствует поисковой последовательности символов.

 

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

Hosted by uCoz