Структура FINDREPLACEA (commdlg.h)

Содержит сведения, используемые функциями FindText и ReplaceText для инициализации диалоговых окон Найти и Заменить . Зарегистрированное сообщение FINDMSGSTRING использует эту структуру для передачи входных данных поиска или замены пользователя в окно владельца диалогового окна Поиск или Замена .

Синтаксис

typedef struct tagFINDREPLACEA {
  DWORD        lStructSize;
  HWND         hwndOwner;
  HINSTANCE    hInstance;
  DWORD        Flags;
  LPSTR        lpstrFindWhat;
  LPSTR        lpstrReplaceWith;
  WORD         wFindWhatLen;
  WORD         wReplaceWithLen;
  LPARAM       lCustData;
  LPFRHOOKPROC lpfnHook;
  LPCSTR       lpTemplateName;
} FINDREPLACEA, *LPFINDREPLACEA;

Члены

lStructSize

Тип: DWORD

Длина структуры в байтах.

hwndOwner

Тип: HWND

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

hInstance

Тип: HINSTANCE

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

Flags

Тип: DWORD

Набор битовых флагов, которые можно использовать для инициализации диалогового окна. Диалоговое окно устанавливает эти флаги при отправке зарегистрированного сообщения FINDMSGSTRING для указания входных данных пользователя. Этот элемент может иметь одно или несколько из следующих значений.

Значение Значение
FR_DIALOGTERM
0x00000040
Если задано в сообщении FINDMSGSTRING , указывает, что диалоговое окно закрывается. При получении сообщения с установленным флагом дескриптор диалогового окна, возвращаемый функцией FindText или ReplaceText , становится недействительным.
FR_DOWN
0x00000001
Если задано значение , выбрана кнопка Вниз переключателей направления в диалоговом окне Поиск , указывающая, что поиск следует выполнять из текущего расположения в конец документа. Если значение не задано, нажмите кнопку Вверх , поэтому следует выполнить поиск в начале документа. Этот флаг можно задать для инициализации диалогового окна. Если задано в сообщении FINDMSGSTRING , указывает выбор пользователя.
FR_ENABLEHOOK
0x00000100
Включает функцию перехватчика, указанную в элементе lpfnHook . Этот флаг используется только для инициализации диалогового окна.
FR_ENABLETEMPLATE
0x00000200
Указывает, что элементы hInstance и lpTemplateName указывают шаблон диалогового окна для использования вместо шаблона по умолчанию. Этот флаг используется только для инициализации диалогового окна.
FR_ENABLETEMPLATEHANDLE
0x00002000
Указывает, что элемент hInstance идентифицирует блок данных, содержащий предварительно загруженный шаблон диалогового окна. Система игнорирует элемент lpTemplateName , если указан этот флаг.
FR_FINDNEXT
0x00000008
Если задано в сообщении FINDMSGSTRING , указывает, что пользователь нажал кнопку Найти далее в диалоговом окне Найти или заменить . Элемент lpstrFindWhat указывает строку для поиска.
FR_HIDEUPDOWN
0x00004000
Если задано при инициализации диалогового окна Поиск , скрывает переключатели направления поиска.
FR_HIDEMATCHCASE
0x00008000
Если задано при инициализации диалогового окна Найти или Заменить, скрывает поле Проверка вариант соответствия.
FR_HIDEWHOLEWORD
0x00010000
Если этот параметр задан при инициализации диалогового окна "Найти или заменить", то скрывает проверка поле "Найти или заменить" поле "Только Word".
FR_MATCHCASE
0x00000004
Если задано значение , выбрано поле Проверка совпадения регистра, указывающее, что поиск должен быть с учетом регистра. Если значение не задано, поле проверка не выбрано, поэтому при поиске регистр не учитывается. Этот флаг можно задать для инициализации диалогового окна. Если задано в сообщении FINDMSGSTRING , указывает выбор пользователя.
FR_NOMATCHCASE
0x00000800
Если этот параметр задан при инициализации диалогового окна "Найти или заменить", отключает поле проверка совпадения.
FR_NOUPDOWN
0x00000400
Если задано при инициализации диалогового окна Поиск , отключает переключатели направления поиска.
FR_NOWHOLEWORD
0x00001000
Если этот параметр задан при инициализации диалогового окна "Найти или заменить", отключает поле проверка Word целиком.
FR_REPLACE
0x00000010
Если задано в сообщении FINDMSGSTRING , указывает, что пользователь нажал кнопку Заменить в диалоговом окне Замена . Элемент lpstrFindWhat указывает строку для замены, а член lpstrReplaceWith — строку замены.
FR_REPLACEALL
0x00000020
Если задано в сообщении FINDMSGSTRING , указывает, что пользователь нажал кнопку Заменить все в диалоговом окне Замена . Элемент lpstrFindWhat указывает строку для замены, а член lpstrReplaceWith — строку замены.
FR_SHOWHELP
0x00000080
Вызывает отображение кнопки Справка в диалоговом окне. Член hwndOwner должен указать окно для получения зарегистрированных сообщений HELPMSGSTRING , которые диалоговое окно отправляет, когда пользователь нажимает кнопку Справка .
FR_WHOLEWORD
0x00000002
Если задано значение , выбрано поле Сопоставить целое Word только проверка, указывающее, что следует искать только целые слова, соответствующие строке поиска. Если значение не задано, поле проверка не выбрано, поэтому следует также искать фрагменты слов, соответствующие строке поиска. Этот флаг можно задать для инициализации диалогового окна. Если задано в сообщении FINDMSGSTRING , указывает выбор пользователя.

lpstrFindWhat

Тип: LPTSTR

Строка поиска, введенная пользователем в элементе управления "Найти что ". Необходимо динамически выделять буфер или использовать глобальный или статический массив, чтобы он не область перед закрытием диалогового окна. Буфер должен содержать не менее 80 символов. Если буфер содержит строку при инициализации диалогового окна, она отображается в элементе управления "Найти что ". Если в сообщении FINDMSGSTRING указан флаг FR_FINDNEXT , lpstrFindWhat содержит строку для поиска. Флаги FR_DOWN, FR_WHOLEWORD и FR_MATCHCASE указывают направление и тип поиска. Если сообщение FINDMSGSTRING указывает флаги FR_REPLACE или FR_REPLACE , lpstrFindЧто содержит строку для замены.

lpstrReplaceWith

Тип: LPTSTR

Строка замены, введенная пользователем в элементе управления " Заменить на". Необходимо динамически выделять буфер или использовать глобальный или статический массив, чтобы он не область до закрытия диалогового окна. Если буфер содержит строку при инициализации диалогового окна, эта строка отображается в элементе управления "Заменить на ".

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

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

wFindWhatLen

Тип: WORD

Длина (в байтах) буфера, на который указывает член lpstrFindЧто .

wReplaceWithLen

Тип: WORD

Длина (в байтах) буфера, на который указывает член lpstrReplaceWith .

lCustData

Тип: LPARAM

Определяемые приложением данные, которые система передает в процедуру перехватчика, определяемую членом lpfnHook . Когда система отправляет WM_INITDIALOG сообщение в процедуру перехватчика, параметр lParam сообщения является указателем на структуру FINDREPLACE, указанную при создании диалогового окна. Процедура перехватчика может использовать этот указатель для получения значения lCustData .

lpfnHook

Тип: LPFRHOOKPROC

Указатель на процедуру перехватчика FRHookProc , которая может обрабатывать сообщения, предназначенные для диалогового окна. Этот элемент игнорируется, если в элементе Flags не установлен флаг FR_ENABLEHOOK. Если процедура перехватчика возвращает значение FALSE в ответ на сообщение WM_INITDIALOG , процедура перехватчика должна отобразить диалоговое окно, иначе диалоговое окно не будет отображаться. Для этого сначала выполните любые другие операции рисования, а затем вызовите функции ShowWindow и UpdateWindow .

lpTemplateName

Тип: LPCTSTR

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

Комментарии

Примечание

Заголовок commdlg.h определяет FINDREPLACE как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Верхняя часть commdlg.h (включая Windows.h)

См. также раздел

Общая библиотека диалоговых окон

Основные понятия

FRHookProc

FindText

MAKEINTRESOURCE

Справочные материалы

ReplaceText

Showwindow

WM_INITDIALOG