Учебные материалы по математике | Системное программирование. структура windows-программ | Matematiku5
Вузы по математике Готовые работы по математике Как писать работы по математике Примеры решения задач по математике Решить задачу по математике online

Системное программирование. структура windows-программ


Единственным отличием API-функций Windows от обычных функций Visual Basic является необходимость объявлять их перед использованием (статическая загрузка) с помощью оператора Declare. По сути, требуется сообщить Visual Basic имя и местоположение DLL-библиотеки(user32.dll, gdi32.dll, kernel32.dll), в которой находится ссылка(заголовок) на API-функцию ядра ОС или описание самой функции. Синтаксис объявления API-функции следующий. [Public| Private] DeclareFunction Имя Функции Lib "Имя Библиотеки" [Alias"псевдоним"] ([Список Аргументов])] [As Type] Объявления API-функций должны размещаться в общей области GD модуля. Если Вы размещаете его в модуле формы, то обязательно нужно указать ключевое. Слово Private (чтобы данное объявление было доступно только внутри модуля). Это требование касается и всех подпрограмм, размещенных в модуле формы. Набор Win32 API реализован только в виде функций. В большинстве своем это функции типа Long, которые чаще всего возвращают код завершения операции. Причем не нулевое значение означает нормальное завершение, нулевое-ошибку. В Win32 API чаще всего используется передача параметров по значению (ByVal), то есть выполняется односторонняя передача данных — от VB-программы к API-функции. В качестве типов параметров, кроме известных, могут использоваться и новые.•… As Any означает, что в стек будет помещен не который адрес буфера памяти. Тип Any может использоваться только в операторе Declare, а Фактический параметр при вызове функции должен иметь конкретный тип.•… As User Defined Type означает, что требуется обменяться данными(в обе стороны) с помощью некоторой структуры. Такая конструкция всегда используется без слова By Val, то есть в данном случае выполняется передача по ссылке, то есть в стек записывается адрес переменной. Некоторые API-функции начинаются с символа подчеркивания, что недопустимо для VB. Поэтому для обращения к таким функциям их имя следует указать в поле «псевдонима» за ключевым словом Alias. Вызов API-функции аналогичен вызову любой обычной функции VB, то есть ее можно вызвать операторным(бесскобочным) или скобочным способом.

75.Системное программирование. Структура Windows-программ. Оконная функция.

Структура Windows-программ при работе с ОС реализована по принципу управления потоком сообщений. В ответ на любое событие(нажатие клавиш и на клавиатуре, щелчок по кнопке на форме, перемещение манипулятора мышь, изменение значения таймера) ядро Windows посылает прикладным программам сообщение. Например, при нажатии клавиши посылается сообщение с константой WM_KEYDOWN, при нажатии левой кнопки мыши-сообщение с константой WM_LBUTTONDOWN, а при выборе команды меню-сообщение с константой WM_COMMAND. При этом каждое сообщение содержит полную информацию о наступившем событии способе его обработки. Все сообщения помещаются в специальную очередь, которые затем обрабатываются в«оконной»функции прикладной программы. В ОС Windows используется Венгерская нотация.

Оконная функцияWindows-программы анализирует поступающие сообщения и выбирает соответствующую процедуру обработки сообщения. При работе с файлами в VB Вы познакомились с понятием дескриптор. В ОС Windows также есть дескрипторы, представляющие собой переменные типа Long и определяющие общие сведения о каком-либо инструменте(объекте) системы. Наиболее важными и часто используемыми являются дескриптор окна и дескриптор контекста устройства. Дескриптор окна позволяет однозначно определить каждое окно, используемое в системе, перемещать его, изменять его в размере, делать невидимым, перерисовывать изображение внутри окна ит. п. ВсефункцииWin32 API, управляющие окнами, используют в качестве своего первого параметра дескриптор окна. Дескриптор контекста устройства используется для отображения графической информации в окне. Все функции отображения используют в качестве первого параметра дескриптор контекста устройства. Таким образом, прежде чем использовать функции вывода на экран или устройство печати, необходимо получить от Windows дескриптор контекста этого устройства. Помимо перечисленных дескрипторов в программе могут присутствовать дескрипторы на кисть, перо, шрифт, иконку, курсор, область, Bitmap-растри exe-файл.

76.Контекст графических устройств Windows.

Контекст графических устройств Windows поддерживает три вида графических устройств: дисплей, принтер и плоттер. Чтобы Windows-программе не учитывать особенности каждого устройства и соответствующие настройки драйвера устройства, ядром Windows любой программе предоставляется универсальный интерфейс-контекст графических устройств. Контекст устройства — это ряд числовых параметров, характеризующих виртуальное графическое устройство и, прежде всего, коэффициенты, с помощью которых логическая система координат преобразуется в физическую. Для обеспечения аппаратной независимости от устройств ядро Windows поддерживает два типа координат: виртуальные и физические. Так, сначала программа создает изображение, работая с виртуальными коор-динатами, не зависящими от конкретного устройства, а затем в момент вывода на устройство(дисплей, принтер) ядро Windows преобразует виртуальные координаты в физические, обеспечивая тем самым идентичность изображений, создаваемых на различных устройствах. К числовым параметрам контекста относится также информация о трех основных инструментах: пере, кисти и

шрифте. Перо предназначено для вычерчивания линий, кисть служит для заполнения области цветом, а шрифт — для вывода графических сообщений. Отдельные параметры контекста определяют толщину и тип линий(сплошная, пунктирная и т. п.), цвет линий, узор кисти, размер шрифта и т. д. Их также можно программ но менять. Чтобы воспользоваться богатыми графическими возможностями, программа должна получить контекст устройства от ядра Windows, воспользоваться устройством и освободить контекст.

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

77.Программные ресурсы приложений.

Программные ресурсы приложений К программным ресурсам пользовательского интерфейса относят: меню, статусную строку, панели инструментов, диалоговые окна, курсоры, иконки(пиктограммы), растровые изображения(bmp-файлы) истроки сообщения. Если меню в VB создается командой ToolsMenuEditor, диалоговые окна и формы-командой ProjectAddForm, то панель инструментов (элемент ToolBar), статусная строка(StatusBar), список изображений(ListImage) –используя ActiveX-компонент MS WindowCommonControls6.0.

Используя элемент ListImage (через свойство Custom и закладку Images), можно занести любое графическое изображение(ico, cur, bmp, jpg-файлы), при этом оно автоматически масштабируется к размеру 32×32 пикселя. Обычно элемент ListImage используется для формирования кнопок, которые предполагается использовать на панели ToolBar для быстрого доступа к командам меню. Иногда иконки, курсоры, bmp-файлы и строки сообщения удобно хранить в файле ресурсов, откуда они могут загружаться по мере необходимости и использоваться разработчиком по своему назначению. При этом каждый из этих элементов(кроме строк сообщения) может быть создан с помощью графического редактора Image Editor(файлImagEdit. exe), а уж затем загружен в файл ресурса с помощью редактора ресурсов Resource Editor(рис.167), активизируемого командой ToolsResource Editor. Если последняя команда отсутствует в списке.

78.Особенности описаний интерфейсных элементов ядра Windows.

Способы отображения информации в окне Каждому приложению, работающему под управлением Windows, для ввода-вывода информации выделяется специальная прямоугольная область экрана, называемая главным окном. При этом окно может быть распахнуто до максимального размера экрана, закрыто до значка на панели Задач, перемещено или изменено в размере. Среда программирования VB предоставляет два способа формирования главного окна приложения для работы с сообщениями Windows, используя API-функции. Каждый

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

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

Наташа

Автор

Наташа — контент-маркетолог и блогер, но все это не мешает ей оставаться адекватным человеком. Верит во все цвета радуги и не верит в теорию всемирного заговора. Увлекается «нефрохиромантией» и тайно мечтает воссоздать дома Александрийскую библиотеку.

Распродажа дипломных

 Скидка 30% по промокоду Diplom2020

А ты боишься COVID-19?

 Пройди опрос и получи промокод