Структура FINDREPLACE


Структура FINDREPLACE содержит информацию, которую используют функции FindText и ReplaceText, чтобы инициализировать диалоговые окна Найти (Find) и Заменить (Replace). Зарегистрированное сообщение FINDMSGSTRING использует эту структуру, чтобы передать введенные данные пользовательского поиска или замены в окно владельца блока диалога Найти (Find) или Заменить (Replace).

Синтаксис

typedef struct {
    DWORD  lStructSize;
    HWND  hwndOwner;
    HINSTANCE  hInstance;
    DWORD  Flags;
    LPTSTR  lpstrFindWhat;
    LPTSTR  lpstrReplaceWith;
    WORD  wFindWhatLen;
    WORD  wReplaceWithLen;
    LPARAM  lCustData;
    LPFRHOOKPROC  lpfnHook;
    LPCTSTR  lpTemplateName;
} FINDREPLACE, *LPFINDREPLACE;

Члены структуры

lStructSize

Определяет длину структуры в байтах.

hwndOwner

Дескриптор окна, которое владеет диалоговым окном. Оконная процедура заданного окна принимает сообщения FINDMSGSTRING от блока диалога. Этот член может быть любым допустимым дескриптором окна, но он не должен быть со значением ПУСТО (NULL).

hInstance

Если в члене Flags установлен флажок FR_ENABLETEMPLATEHANDLE, hInstance - дескриптор объекта памяти, содержащего шаблон диалогового окна. Если установлен флажок FR_ENABLETEMPLATE, hInstance дескриптор модуля, который содержит шаблон диалогового окна, именованный членом lpTemplateName. Если установленных флажков нет, этот член игнорируется.

Flags

Установка битов флажков, которые вы можете использовать, чтобы инициализировать диалоговое окно. Блок диалога устанавливает эти флажки, когда отправляет зарегистрированное сообщение FINDMSGSTRING, чтобы обозначить ввод данных пользователем. Этот член может быть комбинацией следующих значений.
Значение Предназначение
FR_DIALOGTERM Если он установлен в сообщении FINDMSGSTRING, то указывает на то, что диалоговое окно закрывается. Когда вы получаете сообщение с этим установленным флажком, дескриптор окна блока диалога, возвращенный функцией FindText или ReplaceText больше не допустим
FR_DOWN Если он установлен, среди радио-кнопок направления в диалоговом окне Найти (Find) выбрана кнопка В конец документа (Down), обозначая тем самым, что вы должны осуществлять поиск от текущего места до конца документа. Если он не установлен, выбрана кнопка В начало документа (Up), таким образом вы должны искать в направлении к началу документа. Вы можете устанавливать этот флажок, чтобы инициализировать диалоговое окно. Если он установлен в сообщении FINDMSGSTRING, то указывает на выбор пользователя.
FR_ENABLEHOOK Подключает фильтр (hook) - процедуры, которая определена в члене lpfnHook. Этот флажок используется только для инициализации диалогового окна.
FR_ENABLETEMPLATE Указывает, что члены hInstance и lpTemplateName определяют шаблон диалогового окна, который используется вместо заданного по умолчанию шаблона. Этот флажок используется только для инициализации диалогового окна.
FR_ENABLETEMPLATEHANDLE Указывает, что член hInstance идентифицирует блок данных, который содержит предварительно загруженный шаблон диалогового окна. Система игнорирует член lpTemplateName, если установлен этот флажок.
FR_FINDNEXT Если он установлен в сообщении FINDMSGSTRING, то указывает, что пользователь щелкнул по кнопке Искать дальше (Find Next) в диалоговом окне Найти(Find) или Заменить (Replace). Член lpstrFindWhat определяет строку для поиска.
FR_HIDEUPDOWN Если он установлен при инициализации диалогового окна Найти (Find), то скрывает радио-кнопки направления поиска.
FR_HIDEMATCHCASE Если он установлен при инициализации диалогового окна Найти (Find) или Заменить (Replace), то скрывает окошко флажка Учитывать регистр (Match Case).
FR_HIDEWHOLEWORD Если он установлен при инициализации диалогового окна или Найти (Find) или Заменить (Replace), то скрывает окошко флажка Учитывать только слово целиком (Match Whole Word Only).
FR_MATCHCASE Если он установлен, то окошко флажка Учитывать регистр (Match Case) установлен флажок, указывая, что поиск должен быть чувствителен к регистру. Если он не установлен, в окошке нет флажка, так что поиск должен осуществляться без учета регистра. Вы можете устанавливать этот флажок, чтобы инициализировать диалоговое окно. Если он установлен в сообщении FINDMSGSTRING, то обозначает выбор пользователя.
FR_NOMATCHCASE
Если он установлен при инициализации диалогового окна Найти (Find) или Заменить (Replace), то отключается окошко флажка Учитывать регистр (Match Case).
FR_NOUPDOWN Если он установлен при инициализации диалогового окна Найти (Find), то отключаются радио-кнопки направления поиска.
FR_NOWHOLEWORD Если он установлен при инициализации диалогового окна Найти (Find ) или Заменить (Replace), то отключается окошко флажка Слово целиком (Whole Word).
FR_REPLACE Если он установлен в сообщении FINDMSGSTRING, то указывает, что пользователь щелкнул по кнопке Заменить (Replace) в диалоговом окне Заменить (Replace). Член lpstrFindWhat определяет строку, которая заменяется, а член lpstrReplaceWith определяет строку замены.
FR_REPLACEALL Если он установлен в сообщении FINDMSGSTRING, то указывает, что пользователь щелкнул по кнопке Заменить все (Replace All) в диалоговом окне Заменить (Replace). Член lpstrFindWhat определяет строку, которая будет заменена, а член lpstrReplaceWith определяет строку замены.
FR_SHOWHELP Заставляет диалоговое окно показать кнопку Справка (Help). Член структуры hwndOwner должен определить окно, которое примет зарегистрированные сообщения HELPMSGSTRING, отправляемые диалоговым окном, когда пользователь щелкает по кнопке Справка (Help).
FR_WHOLEWORD Если он установлен, в окошке флажка Только слово целиком (Match Whole Word Only) появляется флажок, указывая, что вы должны искать только целые слова, которые соответствуют строке поиска. Если он не установлен, в окошке нет флажка, таким образом, вы должны искать такие же фрагменты слов, которые соответствуют строке поиска. Вы можете установить этот флажок, чтобы инициализировать диалоговое окно. Если он установлен в сообщении FINDMSGSTRING, то это обозначает выбор пользователя.

lpstrFindWhat

Указатель на буфер, который использует сообщение FINDMSGSTRING для передачи строки поиска с нуль-терминатором в конце, которую пользователь набрал в редактируемом поле Что искать: (Find What). Вы должны динамически распределить буфер или использовать глобальный или статический массив, так чтобы он не выходил из области действия до закрытия диалогового окна. Буфер должен быть, по крайней, мере длиной 80 символов. Если буфер содержит строку, когда вы инициализируете диалоговое окно, строка отображается в редактируемом поле  Что искать (Find What). Если сообщение FINDMSGSTRING определяет, флажок FR_FINDNEXT, член lpstrFindWhat содержит строку, которую надо искать. Флажки FR_DOWN, FR_WHOLEWORD и FR_MATCHCASE указывают направление и тип поиска. Если сообщение FINDMSGSTRING определяет флажки FR_REPLACE или FR_REPLACEALL, член lpstrFindWhat содержит строку, которая будет заменена. 

lpstrReplaceWith

Указатель на буфер, который использует сообщение FINDMSGSTRING для передачи строки поиска с нуль-терминатором в конце, которую пользователь набрал в редактируемом поле Заменить на: (Replace With). Вы должны динамически распределить буфер или использовать глобальный или статический массив, так чтобы он не выходил из области действия до закрытия диалогового окна.  Если буфер содержит строку, когда вы инициализируете диалоговое окно, строка отображается в редактируемом поле Заменить на: (Replace With).

Если сообщение FINDMSGSTRING определяет флажки FR_REPLACE или FR_REPLACEALL, lpstrReplaceWith содержит строку замены.

Функция FindText игнорирует этот элемент.

wFindWhatLen

Устанавливает длину, в байтах, буфера, указанного членом lpstrFindWhat.

wReplaceWithLen

Устанавливает длину, в байтах, буфера, указанного элементом lpstrReplaceWith.

lCustData

Устанавливает определяемые программой данные, которые система передает в фильтр (hook) - процедуру, идентифицированную при помощи члена lpfnHook. Когда система отправляет сообщение WM_INITDIALOG фильтр (hook) - процедуре, параметр сообщения lParam - указатель на структуру FINDREPLACE, определенную, когда диалоговое окно было создано. Фильтр-процедура (hook) может использовать этот указатель, чтобы получить значение lCustData.

lpfnHook

Указатель на фильтр (hook) - процедуру FRHookProc, которая может обрабатывать сообщения, предназначенные для диалогового окна. Этот член игнорируется, если в члене Flags не установлен флажок FR_ENABLEHOOK.

Если фильтр (hook) - процедура в ответ на сообщение WM_INITDIALOG возвращает значение ЛОЖЬ (FALSE), она должна показать на экране диалоговое окно, или, иначе,  диалоговое окно не будет показано на экране. Чтобы сделать это, сначала выполняют любые другие операции рисования, а затем вызывают функции ShowWindow и UpdateWindow.

lpTemplateName

Указатель на строку с символом нуля в конце, которая именует ресурс шаблона диалогового окна в модуле, идентифицированном членом hInstance. Этот шаблон заменяет стандартный шаблон диалогового окна. Для пронумерованных ресурсов диалогового окна, это может быть значение, возвращенное макрокомандой MAKEINTRESOURCE. Этот член игнорируется, если в члене Flags не установлен флажок FR_ENABLETEMPLATE.

Смотри также

Обзор Библиотека стандартных диалоговых оконСтруктуры, используемые библиотекой стандартных диалоговых окон, FindText, FRHookProc, MAKEINTRESOURCE, ReplaceText, ShowWindow, UpdateWindow, WM_INITDIALOG

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

Windows. NET Server

Да

Windows XP

Да

Windows 2000

Да

Windows NT

Да версии 3.1 и выше

Windows Me

Да

Windows 98

Да

Windows 95

Да

Заголовочный файл

 

- объявлено в

Commdlg.h

- включено в

Windows.h

Unicode

Нет

Замечания по платформе

Не имеется

 

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

Hosted by uCoz