На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

Customizing the Find or Replace Dialog Box



To customize a Find or Replace dialog box, you can use any of the following methods:

· Specify values in the FINDREPLACE structure when you create the dialog box
· Provide a custom template
· Provide a hook procedure



When you create a Find or Replace dialog box, you can set flags in the Flags member of the FINDREPLACE structure to hide or disable any of the search option controls. For example, you can set the FR_NOMATCHCASE flag to disable the Match Case check box or set the FR_HIDEMATCHCASE flag to hide it.
You can provide a custom template for a Find or Replace dialog box, for example, if you want to include additional controls that are unique to your application. The FindText and ReplaceText functions use your custom template in place of the default template.

To provide a custom template for a Find or Replace dialog box

1. Create the custom template by modifying the default template specified in the FINDTEXT.DLG file. The control identifiers used in the default Find or Replace dialog template are defined in the DLGS.H file.
2. Use the FINDREPLACE structure to enable the template as follows:

· If your custom template is a resource in an application or dynamic-link library, set the FR_ENABLETEMPLATE flag in the Flags member. Use the hInstance and lpTemplateName members of the structure to identify the module and resource name.

-Or-

· If your custom template is already in memory, set the FR_ENABLETEMPLATEHANDLE flag. Use the hInstance member to identify the memory object that contains the template.



You can provide an FRHookProc hook procedure for a Find or Replace dialog box. The hook procedure can process messages sent to the dialog box. If you use a custom template to define additional controls, you must provide a hook procedure to process input for your controls.

To enable a hook procedure for a Find or Replace dialog box

1. Set the FR_ENABLEHOOK flag in the Flags member of the FINDREPLACE structure.
2. Specify the address of the hook procedure in the lpfnHook member.



After processing its WM_INITDIALOG message, the dialog box procedure sends a WM_INITDIALOG message to the hook procedure. The lParam parameter of this message is a pointer to the FINDREPLACE structure used to initialize the dialog box.
If the hook procedure returns FALSE in response to the WM_INITDIALOG message, the dialog box will not be shown unless the hook procedure displays it. To do this, first perform any other paint operations, and then call the ShowWindow and UpdateWindow functions. The following code provides an example:

// We've returned FALSE in response to WM_INITDIALOG.
// We've performed any other paint operations.
// Now we display the dialog box.
ShowWindow(hDlg, SW_SHOWNORMAL);
UpdateWindow(hDlg);



Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

Модифицирующий по заказу пользователя Find или Заменять Диалоговый Ящик



Чтобы модифицировать по заказу пользователя Find или Заменять диалоговый ящик, Вы можете использовать любой из следующих методов:

Определять величины в структуре FINDREPLACE когда Вы создаете диалоговый ящик Обеспечивать заказной шаблон Обеспечивать рычажную процедуру



Когда Вы создаете Find или Заменяете диалоговый ящик, Вы можете установить флаги на члене Флагов структуры FINDREPLACE, чтобы прятать или выводить из строя любой из элементов управления выбора поиска. Например, Вы можете установить флаг FR_NOMATCHCASE, чтобы выводить из строя чек Случая Спички боксировать или устанавливать флаг FR_HIDEMATCHCASE, чтобы прятать это.
Вы можете обеспечить заказной шаблон для Find или Заменять диалоговый ящик, например, если Вы хотите включить дополнительные элементы управления, которые уникальные в вашем приложении. FindText И использование функций ReplaceText вашего заказного шаблона вместо встроенного шаблона.

Чтобы обеспечивать заказной шаблон для Find или Заменять диалоговый ящик

1. Создайте заказной шаблон модифицируя встроенный шаблон определялся в файле FINDTEXT.DLG. Управляющие идентификаторы использовались во встроенном Find или Заменяли диалоговый шаблон определены в файле DLGS.H.
2. Используйте структуру FINDREPLACE, чтобы приспосабливаться шаблон следующим образом:

Если ваш заказной шаблон является ресурсом на прикладной или динамической связи библиотеки, устанавливает флаг FR_ENABLETEMPLATE на члене Флагов. Используйте hInstance и участников lpTemplateName структуры, чтобы идентифицировать модульное и имя ресурса.

-

Если ваш заказной шаблон - уже в памяти, устанавливает флаг FR_ENABLETEMPLATEHANDLE. Используйте член hInstance, чтобы идентифицировать объект памяти, который содержит шаблон.



Вы можете обеспечить процедуру захвата FRHookProc для Find или Заменять диалоговый ящик. Рычажная процедура может обработать сообщения посланные в диалоговый ящик. Если Вы используете заказной шаблон, чтобы определять дополнительные элементы управления, Вы должны обеспечить рычажную процедуру, чтобы обрабатывать вклад для ваших элементов управления.

Чтобы приспосабливаться рычажную процедуру для Find или Заменять диалоговый ящик

1. Установите флаг FR_ENABLEHOOK на члене Флагов структуры FINDREPLACE.
2. Определите адрес рычажной процедуры на члене lpfnHook.



После обработки сообщения WM_INITDIALOG, диалоговая процедура ящика посылает сообщение WM_INITDIALOG в рычажную процедуру. Параметр lParam этого сообщения является указателем в структуру FINDREPLACE использованную, чтобы инициализировать диалоговый ящик.
Если рычажная процедура возвращает ЛОЖЬ в ответ на сообщение WM_INITDIALOG, диалоговый ящик не будет показан если рычажная процедура не отображает это. Для того, чтобы делать это, сначала выполнять любые другие действия краски, затем вызывать ShowWindow и функции UpdateWindow. Следующее кода обеспечивает пример:

// Мы возвращали ЛОЖЬ в ответ на WM_INITDIALOG.
// Мы выполнили любые другие действия краски.
// Теперь мы отображаем диалоговый ящик.
ShowWindow(hDlg, SW_SHOWNORMAL);
UpdateWindow(hDlg);



Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz