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


Структура 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 hInstance и lpTemplateName указывают шаблон диалогового окна, используемый вместо шаблона по умолчанию. Этот флаг используется только для инициализации диалогового окна.
FR_ENABLETEMPLATEHANDLE
0x00002000
Указывает, что элемент hInstance определяет блок данных, содержащий предварительно загруженный шаблон диалогового окна. Система игнорирует элемент lpTemplateName, если этот флаг указан.
FR_FINDNEXT
0x00000008
Если задано в сообщении FINDMSGSTRING, указывает, что пользователь нажимал кнопку "Найти следующую" в диалоговом окне "Найти" или "Заменить". Элемент lpstrFindWhat указывает строку для поиска.
FR_HIDEUPDOWN
0x00004000
Если задано при инициализации диалогового окна поиска, скрывает переключатели направления поиска.
FR_HIDEMATCHCASE
0x00008000
Если задано при инициализации диалогового окна "Найти" или "Заменить", скроется флажок сопоставления.
FR_HIDEWHOLEWORD
0x00010000
Если задано при инициализации диалогового окна "Найти" или "Заменить", скроется флажок Совпадение всего слова.
FR_MATCHCASE
0x00000004
Если задано, установлен флажок Регистр соответствия, указывающий, что поиск должен быть учитывает регистр. Если этот флажок не задан, флажок не выбран, поэтому поиск должен быть нечувствительным к регистру. Этот флаг можно задать для инициализации диалогового окна. Если задано в сообщении FINDMSGSTRING , указывает выбор пользователя.
FR_NOMATCHCASE
0x00000800
Если задано при инициализации диалогового окна "Найти " или "Заменить", установите флажок сопоставления.
FR_NOUPDOWN
0x00000400
Если задано при инициализации диалогового окна "Поиск" , отключает переключатели направления поиска.
FR_NOWHOLEWORD
0x00001000
Если задано при инициализации диалогово го окна поиска или замены, отключает флажок Целое слово.
FR_REPLACE
0x00000010
Если задано в сообщении FINDMSGSTRING FINDMSGSTRING, пользователь щелкнул кнопку "Заменить " в диалоговом окне "Заменить". Элемент lpstrFindWhat указывает строку для замены, а элемент lpstrReplaceWith указывает строку замены.
FR_REPLACEALL
0x00000020
Если задано в сообщении FINDMSGSTRING, пользователь щелкнул кнопку Заменить все в диалоговом окне Заменить. Элемент lpstrFindWhat указывает строку для замены, а элемент lpstrReplaceWith указывает строку замены.
FR_SHOWHELP
0x00000080
Вызывает диалоговое окно для отображения кнопки справки. Элемент hwndOwner должен указать окно для получения helpMSGSTRING зарегистрированных сообщений, которые отправляет диалоговое окно, когда пользователь нажимает кнопку "Справка ".
FR_WHOLEWORD
0x00000002
Если задано, установлен флажок Совпадение всего слова только, указывающий, что следует искать только целые слова, соответствующие строке поиска. Если не задано, флажок не выбран, поэтому следует также искать фрагменты слов, соответствующие строке поиска. Этот флаг можно задать для инициализации диалогового окна. Если задано в сообщении FINDMSGSTRING , указывает выбор пользователя.

lpstrFindWhat

Тип: LPTSTR

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

lpstrReplaceWith

Тип: LPTSTR

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

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

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

wFindWhatLen

Тип: WORD

Длина буфера в байтах, на которую указывает элемент lpstrFindWhat.

wReplaceWithLen

Тип: WORD

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

lCustData

Тип: LPARAM

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

lpfnHook

Тип: LPFRHOOKPROC

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

lpTemplateName

Тип: LPCTSTR

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

Замечания

Заметка

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
заголовка commdlg.h (включая Windows.h)

См. также

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

концептуальные

FRHookProc

FindText

MAKEINTRESOURCE

Справочник

ReplaceText

ShowWindow

WM_INITDIALOG