Поделиться через


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

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

Синтаксис

typedef struct tagFINDREPLACEW {
  DWORD        lStructSize;
  HWND         hwndOwner;
  HINSTANCE    hInstance;
  DWORD        Flags;
  LPWSTR       lpstrFindWhat;
  LPWSTR       lpstrReplaceWith;
  WORD         wFindWhatLen;
  WORD         wReplaceWithLen;
  LPARAM       lCustData;
  LPFRHOOKPROC lpfnHook;
  LPCWSTR      lpTemplateName;
} FINDREPLACEW, *LPFINDREPLACEW;

Члены

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 , указывает, что пользователь нажал кнопку Найти далее в диалоговом окне Найти или заменить . Элемент lpstrFindЧто указывает строку для поиска.
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 , указывает, что пользователь нажал кнопку Заменить в диалоговом окне Замена . Элемент lpstrFindЧто указывает строку для замены, а член lpstrReplaceWith — строку замены.
FR_REPLACEALL
0x00000020
Если задано в сообщении FINDMSGSTRING , указывает, что пользователь нажал кнопку Заменить все в диалоговом окне Заменить . Элемент lpstrFindЧто указывает строку для замены, а член lpstrReplaceWith — строку замены.
FR_SHOWHELP
0x00000080
Вызывает отображение кнопки Справка в диалоговом окне. Участник hwndOwner должен указать окно для получения зарегистрированных сообщений HELPMSGSTRING , которые отправляет диалоговое окно, когда пользователь нажимает кнопку Справка .
FR_WHOLEWORD
0x00000002
Если задано значение , выбрано поле Word Только проверка, указывающее, что следует искать только целые слова, соответствующие строке поиска. Если значение не задано, поле проверка не выбрано, поэтому следует также искать фрагменты слов, соответствующие строке поиска. Этот флаг можно задать для инициализации диалогового окна. Если задано в сообщении FINDMSGSTRING , указывает выбор пользователя.

lpstrFindWhat

Тип: LPTSTR

Строка поиска, введенная пользователем в элементе управления "Найти что". Необходимо динамически выделять буфер или использовать глобальный или статический массив, чтобы он не область до закрытия диалогового окна. Длина буфера должна быть не менее 80 символов. Если буфер содержит строку при инициализации диалогового окна, строка отображается в элементе управления " Найти что ". Если в сообщении FINDMSGSTRING указан флаг FR_FINDNEXT , lpstrFindЧто содержит строку для поиска. Флаги 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