
- •Порядок обработки сообщений, цикл обработки сообщений
- •Атрибуты контекста.
- •Порядок обработки сообщений, цикл обработки сообщений
- •Аппаратные сообщения
- •Символьные сообщения
- •Дочерние окна
- •Класс полос прокрутки
- •Класс редактирования
- •25 Класс окна списка
- •Способы хранения данных программы
- •Общие сведения о файле ресурсов
- •Меню и сообщения
- •Многозадачность и многопоточность
- •Вытесняющая многозадачность
- •Использование функции Sleep
- •36 Критические разделы
- •37 Использование событий
- •38 Многооконный интерфейс. Элементы mdi. Windows и mdi
- •39 Динамически подключаемые библиотеки. Типы связывания
Понятие системного программирования
Системное программирование – это создание системного программного обеспечения, то есть написание таких программ, которые в совокупности составляют некоторую программную систему либо набор элементов для построения программных систем.
Понятие "Системное программирование" существует со времен появления компьютерной техники. И с самого его появления считалось, что "Системщик" – это программист, который работает на самом "нижнем" уровне программного обеспечения и пишет программы на машинном языке
2 Краткая характеристика ОС Windows
Графический интерфейс, Многозадачность, . Аппаратно-независимое программирование , События и механизм сообщений, Оконная среда
Интерфейс программ API (Application Programming Interface)
Интерфейс программирования приложений (иногда интерфейс прикладного программирования)— набор готовых классов, процедур, функций, структур и констант, предоставляемых приложением (библиотекой, сервисом) для использования во внешних программных продуктах. Используется программистами для написания всевозможных приложений.
Вышеупомянутые функции операционной системы составляют библиотеку, размещаемую в файлах формата DLL в каталоге WINDOWS \ SYSTEM \. Данная библиотека называется библиотекой интерфейса программ ( API ). Данная библиотека даступна для использования всеми приложениями. API делится на специализированные библиотеки, объединенные по функциональному назначению
Порядок обработки сообщений, цикл обработки сообщений
Когда в системе происходит какое-либо событие, на которое должна отреагировать исполняемая программа операционная система посылает программе сообщение об этом событии. Программа получает сообщение и выполняет код (часть программы), реагирующий на это событие. Сформированное операционной системой сообщение помещается в системную очередь сообщений. Каждое сообщение предназначено конкретному окну. ОС определяет какому приложению предназначено сообщение и помещает его в очередь сообщений программы. Далее программа сама должна заботиться об обработке сообщения.
Цикл обработки сообщения выбирает очередное сообщение из программной очереди и вызывает оконную процедуру (ОП) того окна, которому оно предназначено. Если программа в это время занята обработкой другого сообщения, вновь прибывшее сообщение ожидает в очереди завершения обработки предыдущего сообщения
Оконная процедура
Оконная процедура является центральной частью программы. Не будет большим преувеличением сказать, что более девяносто процентов алгоритма программы заключено в оконной процедуре. Оконная процедура соответствует одному (или более) окну программы и содержит в себе программную реализацию поведения окна. Подпрограммы рисования элементов окна, реакция на действия мыши, клавиатуры, закрытия окна – все это заключено внутри оконной процедуры.
Оконная процедура вызывается только тогда, когда пришло какое-либо сообщение, предназначенное соответствующему окну.
Понятие контекста устройства
Контекст является объектом операционной системы посредством которого осуществляется вывод информации на внешнее устройство
Программа формирует графическое изображение путем записи в видео памяти соответствующей информации. При этом программа должна учитывать графический режим
Контекст – структура данных, формируемая операционной системой, хранящая информацию о параметрах и характеристиках устройства вывода, посредством которого программа осуществляет графический вывод информации.
Программная модель контекста
В программе (см. Лекцию 2) контекст представлен своим описателем и объявляется следующим образом:
HDC hdc;
Для того, чтобы начать работу с контекстом, необходимо его получить у операционной системы. Следует отметить, что контекст лучше запрашивать только в момент графического вывода (так как на поддержание контекста требуется оперативная память и время работы ОС), и сразу же закрывать его после завершения рисования.
Действительные и недействительные области экрана
Области экрана, графическая информация о которых известна операционной системе, называются действительными .
В момент закрытия, открытия, передвижения окон на экране появляются "черные дыры" – области, информация об изображении которых потеряна ОС или неизвестна. Такие области экрана получили название недействительных областей.
Объекты и атрибуты контекста устройства
Контекст является объектом Windows. В свою очередь, сам контекст содержит в себе описатели некоторых объектов, которые используются при работе с контекстом ( Например, при рисовании линий, прямоугольников, областей и т.п. ) . К этим объектам относятся:
• Перо ( PEN ) определяет цвет, ширину, стиль линии, которой выполняется рисование всеми функциями API .
• Кисть ( BRUSH ) определяет цвет и режим фона, которыми заполняются пустоты.
Оба приведенных выше объекта поддерживают три основных функции работы с ними:
• Создание нового объекта.
• Выбор объекта (из множества предопределенных в Windows ).
• Удаление объекта.