Стоит Windows 8 Pro, Visual Studio 2010 Express Edition . |
Модальные окна страниц свойств MFC
Это приложение демонстрирует некоторые из аспектов применения модальных окон свойств на примере разработки диалогового окна Find. Создаваемое диалоговое окно Find будет похоже на применяемое в других приложениях, за одним исключением: оно будет состоять из двух вкладок, в одной из которых будет задаваться запрос поиска (вкладка Find ), а результат поиска будет отражаться в другой вкладке (другой странице свойств - вкладке Result ).
Создание заготовки диалогового приложения
- Перейдите в свой каталог выполнения лабораторных работ
- Создайте новый проект и назовите его ModalDemo
-
Вкладки мастера создания приложений заполните в соответствии с таблицей
Создание ресурса вкладки Find
Вкладка должна искать книги по языку, автору и издателю. Она будет представлять собой диалоговую страницу свойств, содержащую:
- Раскрывающийся список Combo Box для выбора языка ( Language )
- Два поля редактирования Edit Control:
- Автор ( Author )
- Издатель ( Publisher )
- Три текстовых метки Static Text для перечисленных элементов управления
- Кнопку Button для начала поиска
Создадим данный ресурс:
- Чтобы не забыть, смените режим построения приложения с Debug на Release
- В панели Resource View оболочки щелкните в любом месте правой кнопкой мыши и выполните команду контекстного меню Add Resource
- В окне Add Resource оболочки выберите шаблон диалогового ресурса как показано на рисунке и выполните кнопку New
- В панели Resource View оболочки вызовите новый ресурс на редактирование и через панель Properties измените идентификатор ресурса на IDD_PROPPAGE_FIND
- Измените значение свойства Caption на Find Book (это будет названием вкладки, а не заголовком диалогового окна)
-
Убедитесь в том, что свойства
- Style установлено в Child (дочерний)
- Border установлено в Thin
- Disabled установлен в True
-
Поместите на форму диалогового ресурса элемент управления Combo Box и отредактируйте так
- Присвойте его идентификатору ID значение IDC_COMBO_LANGUAGE
- Установите свойство Type в значение Drop List
- Свойство Data заполните некоторыми фиктивными данными в виде строки названий языков программирования, разделенных точкой_с_запятой, например, Visual C++/MFC;Microsoft C#/.NET;JScript.NET
-
Поместите на форму диалогового ресурса элемент Edit Control и отредактируйте так
- Присвойте его идентификатору ID значение IDC_EDIT_AUTHOR
- Установите свойство Disabled = True
-
Поместите на форму диалогового ресурса элемент Edit Control и отредактируйте так
- Присвойте его идентификатору ID значение IDC_EDIT_PUBLISHER
- Установите свойство Disabled = True
-
Поместите на форму диалогового ресурса текстовые метки и отредактируйте их свойства так
- Caption = Language:
- Caption = Author:
- Caption = Publisher:
- Align Text = Right
- Выровняйте метки по правой границе, пользуясь панелью инструментов оболочки Dialog Editor
-
Поместите на форму диалогового ресурса кнопку Button и отредактируйте ее свойства так
- ID = IDC_BUTTON_FIND
- Caption = Find
- Щелкните по кнопке Test Dialog панели инструментов Dialog Editor оболочки
Ресурс страницы свойств IDD_PROPPAGE_FIND должен выглядеть так
Тест не имеет системной кнопки закрытия окна, поэтому для его закрытия воспользуйтесь комбинацией клавиш Alt+F4.
Создание ресурса вкладки Result
Вкладка должна отображать список найденных книг, а в заголовке окна вкладки должно отображаться количество найденных книг. Она будет представлять собой диалоговую страницу свойств, содержащую список List Box с линейками прокрутки.
Создадим данный ресурс.
- В панели Resource View оболочки щелкните в любом месте правой кнопкой мыши и выполните команду контекстного меню Add Resource
- В окне Add Resource оболочки выберите шаблон диалогового ресурса как показано на рисунке и выполните кнопку New
- В панели Resource View оболочки вызовите новый ресурс на редактирование и через панель Properties измените идентификатор ресурса на IDD_PROPPAGE_RESULT
- Измените значение свойства Caption на Results: %ld books found - это будет названием вкладки с отображением количества (спецификатор формата %ld - long decimal ) найденных книг
-
Убедитесь в том, что свойства
- Style установлено в Child (дочерний)
- Border установлено в Thin
- Disabled установлен в True
- Поместите на форму диалогового ресурса элемент управления List Box и отредактируйте так
-
Поместите на форму диалогового ресурса кнопку Button и отредактируйте ее свойства так
- ID = IDC_BUTTON_GOTO
- Caption = Go to
- Щелкните по кнопке Test Dialog панели инструментов Dialog Editor оболочки
Ресурс страницы свойств IDD_PROPPAGE_RESULT должен выглядеть так
Для закрытия теста воспользуйтесь комбинацией клавиш Alt+F4.