Объектно-ориентированное программирование. Графический интерфейс пользователя



Графический интерфейс пользователя

Windows — это графический интерфейс пользователя (Graphical User Interface, GUI), иногда его еще называют "визуальный интерфейс" или "графическая оконная среда". Концепции, давшие начало этому типу пользовательского интерфейса, берут свое начало в середине семидесятых годов, от первой работы, сделанной на Xerox Palo Alto Research Center (PARC) для таких машин как Alto и Star, и для такой среды как Smalltalk. Позднее эта работа была взята за основу и популяризована корпорацией Apple Computer, во-первых, в злополучной модели Lisa и, затем, год спустя в гораздо более удачной модели Macintosh, введенной в эксплуатацию в январе 1984 года.

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

Концепции и обоснование GUI

Все графические интерфейсы пользователя делают возможным использование графики на растровом экране дисплея. Графика дает лучшее восприятие действительного положения вещей на экране, визуально богатую среду для передачи информации и возможность WYSIWYG (What you see is what you get, что вы видите, то и получите) как для графики, так и для форматированного для печати документов текста.

В первые дни своего существования дисплеи использовались исключительно для отображения на экране текста, который пользователь вводил с клавиатуры. В графическом интерфейсе пользователя дисплей сам становится источником, откуда в машину вводится информация. Дисплей показывает различные графические объекты в виде картинок и конструкций для ввода информации, таких как кнопки или полосы прокрутки. Используя клавиатуру (или, что проще, устройство с указателем, например, мышь), пользователь может непосредственно манипулировать этими объектами на экране. Графические объекты можно перетаскивать, кнопки можно нажимать, полосы прокрутки можно прокручивать.

Взаимодействие между пользователем и программой становится, таким образом, более тесным. Вместо последовательного ввода информации с клавиатуры в программу и на дисплей, пользователь взаимодействует с объектами непосредственно на дисплее.

Содержимое интерфейса пользователя

Любая программа для Windows имеет окно — прямоугольную область на экране. Окно идентифицируется заголовком. Большинство функций программы запускается посредством меню. Слишком большой для экрана объем информации может быть просмотрен с помощью полос прокрутки. Некоторые пункты меню вызывают появление окон диалога, в которые пользователь вводит дополнительную информацию. Одно из окон диалога, имеющееся почти в каждой программе для Windows, предназначено для открытия файла. Это окно выглядит одинаково (или очень похоже) для множества различных программ для Windows и почти всегда вызывается с помощью одной и той же опции меню.

С точки зрения программиста содержимое интерфейса пользователя, необходимое для создания меню и окон диалога, является результатом использования программ, уже встроенных в Windows. У всех меню один и тот же интерфейс клавиатуры и мыши, поскольку именно Windows, а не программа-приложение, управляет их работой.

Независимость графического интерфейса от оборудования

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

У программ, написанных для Windows, нет прямого доступа к аппаратной части устройств отображения информации, таких как экран и принтер. Вместо этого Windows включает в себя язык графического программирования, называемый графическим интерфейсом устройства (Graphics Device Interface, GDI), который облегчает создание графики и форматированного текста. Windows абстрагируется от конкретного устройства отображения информации. Программы, написанные для Windows, будут работать с любым типом дисплея и любым типом принтера, для которых имеется в наличии драйвер Windows. В программе нет необходимости задавать тип используемого в системе оборудования.

Вызовы функций

Windows в настоящее время поддерживает свыше тысячи вызовов функций, которые можно использовать в приложениях. Вряд ли вы когда-нибудь сможете запомнить синтаксис всех этих вызовов. Большинство программистов, пишущих программы для Windows, тратят массу времени на поиски различных вызовов функций в отпечатанных первоисточниках или в системах контекстно-зависимой подсказки.

Каждая функция Windows имеет развернутое имя, написанное буквами как верхнего, так и нижнего регистров, например CreateWindow. Эта функция (как вы могли бы догадаться) создает для вашей программы окно. Другой пример: функция IsClipboardFormatAvailable определяет, хранятся ли в буфере обмена данные специального формата.

Все основные функции Windows объявляются в заголовочных файлах. Главный заголовочный файл называется WINDOWS.H, и в этом файле содержится множество ссылок на другие заголовочные файлы. Эти заголовочные файлы имеются в любой среде программирования, поддерживающей Windows и основанной на использовании языка С. Заголовочные файлы являются важной частью технической документации для Windows. Вы можете распечатать копии заголовочных файлов или для скорости воспользоваться программой просмотра файлов.

В программе для Windows вы используете вызовы функций Windows примерно также, как использовали библиотечные функции С, например strlen. Основное отличие в том, что код библиотечных функций С связывается с кодом вашей программы, тогда как код функций Windows остается вне вашей программы в динамически подключаемых библиотеках (DLL).

Когда вы запускаете программу в Windows, она взаимодействует с Windows через процесс, называемый "динамическим связыванием". ЕХЕ-файлы Windows содержат ссылки на различные динамически подключаемые библиотеки, функции которых в них используются. Большая часть этих библиотек DLL расположено в подкаталоге SYSTEM вашего каталога Windows. Когда программа для Windows загружается в оперативную память, вызовы в программе настраиваются на точки входа функций в динамически подключаемых библиотеках, которые, если этого еще не произошло, тоже загружаются в оперативную память.

Когда вы компонуете программу для Windows, чтобы сделать ее исполняемой, вам необходимо компоновать ее с "библиотеками импорта", поставляемыми в составе вашей среды программирования. Библиотеки импорта содержат имена всех функций Windows из динамически подключаемых библиотек и ссылки на них. Компоновщик использует эту информацию для создания в ЕХЕ-файле таблицы, которую Windows использует при загрузке программы для настройки адресов функций Windows.

Объектно-ориентированное программирование

При программировании для Windows вы фактически занимаетесь одним из видов объектно-ориентированного программирования (Object Oriented Programming, OOP). Это наиболее очевидно для объекта, с которым вы в Windows будете большей частью работать, объекта, который дал Windows ее название, объекта, который, как кажется, вскоре приобретет человеческие свойства, объекта, который, быть может, даже будет вам мерещиться, объекта, который известен как "окно".

Как уже упоминалось, окна — это прямоугольные области на экране. Окно получает информацию от клавиатуры или мыши пользователя и выводит графическую информацию на своей поверхности.

Окно приложения обычно содержит заголовок (title bar), меню (menu), рамку (sizing border) и иногда полосы прокрутки (scroll bars). Окна диалога — это дополнительные окна. Больше того, в окне диалога всегда имеется еще несколько окон, называемых "дочерними" (child windows). Эти дочерние окна имеют вид кнопок (push buttons), переключателей (radio buttons), флажков (check boxes), полей текстового ввода или редактирования (text entry fields), списков (list boxes) и полос прокрутки (scroll bars).

Пользователь рассматривает окна на экране в качестве объектов и непосредственно взаимодействует с этими объектами, нажимая кнопки и переключатели, передвигая бегунок на полосах прокрутки. Достаточно интересно, что положение программиста аналогично положению пользователя. Окно получает от пользователя информацию в виде оконных "сообщений". Кроме этого окно обменивается сообщениями с другими окнами.

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


Дата добавления: 2018-02-28; просмотров: 496; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!