Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТП_ЛабРаботы.doc
Скачиваний:
13
Добавлен:
28.09.2019
Размер:
716.8 Кб
Скачать

Методика выполнения

  1. Разработайте модель организации данных и представьте ее в виде схемы. Изобразите на схеме выполнение операций добавления, удаления и перестановки элементов при сортировке.

  2. Запустите MS Visual Studio и создайте новый проект консольного приложения для платформы Win32.

  3. Скопируйте и подключите к проекту модули объявления и определения классов из работы №6. Используя определение абстрактного класса из работы № 6, создайте класс для представления заданной структуры объектов (см. таблицу).

  4. Определите методы класса для выполнения операций добавления, удаления, редактирования, отображения, поиска и сортировки.

  5. Переопределите методы классов, выполняющие операции с бинарным файлом, заменив библиотеку stdio.h библиотекой классов потокового ввода/вывода.

Содержание отчета

Отчет готовится в письменном или печатном виде один на бригаду. В отчет включить модель данных и схемы выполнения операций пунктов 2.4, 2.5 и 2.6 задания, листинги модулей, результаты тестовых прогонов программы. Листинги должны содержать спецификации модулей и функций, иметь структурированный вид и комментарии.

Контрольные вопросы

  1. Что означает зарезервированное ключевое слово this в C++?

  2. Какой общий принцип используется при создании сложных структур данных из объектов классов?

  3. Назовите основные операции со стеком.

  4. Как устроены различные виды списков?

  5. Что такое бинарное дерево?

  6. В чем состоит отличие линейного списка от циклического?

  7. В чем разница между однонаправленными и двунаправленными списками?

  8. С помощью каких классов и методов библиотеки классов потокового ввода/вывода организуется работа с текстовыми файлами?

Лабораторная работа №8 разработка windows-интерфейса приложения

Цель работы – знакомство на практике с приемами программирования на С++, применяемыми при разработке Windows-приложений с графическим интерфейсом пользователя и событийным управлением.

Задание

  1. Разработать на языке С++ 7-ю версию приложения с графическим Windows-интерфейсом пользователя.

  2. Приложение должно содержать одно диалоговое окно с главным меню.

  3. Для вывода таблицы данных использовать список (LISTBOX).

  4. Поля текущей строки таблицы отображать под таблицей отдельно с помощью элементов управления редактор (EDIT). Для подписей полей использовать статический элемент – метка (STATIC). Использовать эти поля также для ввода и редактирования данных в таблице.

  5. Для запуска функций приложения использовать кнопки (BUTTON) и пункты меню.

  6. Для вывода сообщений пользователю использовать всплывающие окна.

Краткая теория

Окна, элементы управления, диалоги

Графический интерфейс пользователя в Windows формируется из окон, блоков диалога и различных элементов управления.

Графические пользовательские интерфейсы поддерживаются операци­онными системами Windows, Apple Macintosh, OS/2 и т. д. В рамках указан­ных операционных систем для таких интерфейсов разработаны наборы стан­дартных компонентов взаимодействия с пользователем. Эти наборы не иден­тичны, как и основные приемы работы с интерфейсами различных операци­онных систем.

Пользовательские интерфейсы большинства современных программ строятся по технологии WIMP: W - Windows (окна), I - Icons (пиктограммы), М - Mouse (мышь), Р - Pop-up (всплывающие или выпадающие меню). Ос­новными элементами графических интерфейсов, таким образом, являются: окна, пиктограммы, компоненты ввода-вывода и мышь, которую использу­ют в качестве указующего устройства и устройства прямого манипулирова­ния объектами на экране.

Окна. Окно - обычно прямоугольная, ограниченная рамкой область фи­зического экрана. Окно может менять размеры и местоположение в пределах экрана. Все окна можно разделить на 5 категорий:

  • основные окна (окна приложений);

  • дочерние или подчиненные окна;

  • окна диалога;

  • информационные окна;

  • окна меню.

Окно приложения Windows (рис. 8.14) обычно содержит: рамку, ограни­чивающую рабочую область окна, строку заголовка с кнопкой системного меню и кнопками выбора представления окна и выхода, строку меню, пикто­графическое меню (панель инструментов), горизонтальные и вертикальные полосы прокрутки и строку состояния.

Дочернее окно Windows (рис. 8.15, а) используют в многодокументных программных интерфейсах (MDI), предполагающих, что программное обес­печение должно работать с несколькими документами одновременно. В от­личие от окна приложения дочернее окно не содержит меню. В строке заго­ловка - специальное имя, идентифицирующее связанный с ним документ или файл. Пиктограммы всех дочерних окон одинаковы.

  • Диалоговое окно Windows (рис. 8.15, б) используют для просмотра и за­дания различных режимов работы, необходимых параметров или другой ин­формации. Оно может содержать:

  • строку заголовка с кнопкой системного меню;

  • компоненты, обеспечивающие пользователю возможность ввода или выбора ответа;

  • вспомогательные компоненты, обеспечивающую подсказку, напри­ мер, поле предварительного просмотра или кнопку вызова справки.

Как правило, размер диалогового окна неизменяем, но его можно пере­мещать по экрану.

Информационные окна бывают двух типов: окна сообщений и окна по­мощи. Окна сообщений (рис. 8.15, в), кроме заголовка с кнопкой системного меню, обычно содержат текст сообщения и одну или несколько кнопок реак­ции пользователя, например, кнопки Yes и No или кнопки Yes, No и Cancel.

Окно помощи имеет более сложную структуру: оно может содержать ме­ню, полосы прокрутки и информационная область, т. е. по структуре оно ана­логично окну приложения, но отличается от него тем, что имеет узко специ­альное назначение, обеспечивая навигацию по справочной информации.

Окна меню Windows (рис. 8.15, г) можно использовать как открывающи­еся панели иерархического меню или как отдельные контекстные меню. Каждой строке окна меню может соответствовать:

  • команда;

  • меню следующего уровня, что обозначается стрелкой;

  • окно диалога, что обозначается тремя точками.

Кроме того, в некоторых строках добавляется указание клавиш быстро­го вызова.

Пиктограммы. Пиктограмма представляет собой небольшое окно с графическим изображением, отражающим содержимое буфера, с которым она связана. Различают:

  • программные пиктограммы;

  • пиктограммы дочерних окон;

  • пиктограммы панели инструментов;

  • пиктограммы объектов.

Программными пиктограммами, которые связаны с соответствующей программой, управляет операционная система. Так, можно «свернуть» окно приложения в пиктограмму на панели задач Windows или «развернуть» его обратно «на рабочий стол».

Аналогично многодокументная программная система управляет пикто­граммами дочерних окон, обеспечивающими доступ к различным докумен­там, одновременно обрабатываемым программной системой.

Пиктограммы панели инструментов обычно дублируют доступ к соот­ветствующим функциям через меню, обеспечивая их быстрый вызов.

Пиктограммы объектов используют для прямого манипулирования этими объектами.

Как правило, все пиктограммы можно перемещать мышью. Кроме того, для облегчения работы с пиктограммами обычно используют «всплываю­щие» подсказки, которые появляются, если пользователь в течение некоторо­го времени удерживает мышь над пиктограммой панели инструментов.

Прямое манипулирование изображением. Прямое манипулирование изображением - это возможность замены команды воздействия на некото­рый объект физическим действием в интерфейсе, осуществляемым с помо­щью мыши. При этом любая область экрана рассматривается как адресат, ко­торый может быть активизирован при подведении .курсора и нажатии клави­ши мыши.

По реакции на воздействие различают следующие типы адресатов:

  • указание и выбор (развертывание пиктограмм, определение активно­ го окна и т. п.);

  • буксировка и «резиновая нить» (перенос объекта или его границ);

экранные кнопки и «скользящие» барьеры (выполнение дискретных или циклически повторяемых действий, например, выполнение некоторой операции или рисование, подразумеваемых при активизации определенной области экрана - кнопки).

  • Не последняя роль в графических интерфейсах отводится динамическим визуальным сигналам, которые представляют собой изменение изображения на экране. Основная цель этих сигналов заключается в предоставлении поль­зователям дополнительной информации. Простейшим примером такого сиг­нала является изменение изображения курсора мыши при выполнении кон­кретных операций, например, изображение его в форме песочных часов во время обработки. Другой пример - изменение изображения кнопки при на­жатии на нее. Хотя в отличие от анимационных интерфейсов прямого мани­пулирования эти визуальные сигналы играют в графических интерфейсах вспомогательную роль, обеспечивая более реалистическую картинку.

Компоненты ввода-вывода. Как уже упоминалось, в окнах приложе­ния могут размещаться специальные компоненты, используемые для ввода-вывода информации. Интерфейс практически любого современного про­граммного обеспечения включает несколько меню: основное или «ниспада­ющее» иерархическое меню, пиктографические меню (панели инструмен­тов) и контекстные меню для разных ситуаций. Любое из указанных меню представляет собой компонент ввода-вывода, реализующий диалог с пользо­вателем, используя табличную форму.

Иерархические меню используют, чтобы организовать выполняемые программным обеспечением операции, если их число превышает 5-8 (6 в со­ответствии с рекомендациями фирмы IBM), и обеспечить пользователю их обзор. Панели инструментов и контекстные меню применяют для обеспече­ния быстрого доступа к часто используемым командам, обеспечивая пользователю возможность относительно свободной навигации.

Кроме меню в интерфейсе используют и другие компоненты ввода-вы­вода, которые можно разделить на три группы в соответствии с тем, какую форму диалога они реализуют: фразовую, табличную или смешанную. Ди­рективная форма диалога обычно предполагает ввод комбинаций клавиш или перемещение пиктограмм, а потому не требует использования компо­нентов ввода-вывода. В табл. 8.2 приведены основные компоненты WINP-интерфейса Windows и даны рекомендации по их использованию.