Расчет и анализ потерь активной мощности
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
> более простое управление файлами, включая поддержку сетевых связей и длинных имен файлов;
технология Plug and Play автоматически определяет и настраивает дополнительные устройства, подключаемые к компьютеру;
32 битная многозадачная среда позволяет одновременно работать нескольким программам;
улучшенные средства поиска;
улучшенная поддержка мультимедиа;
расширенные возможности установления связей, включая электронную почту, факсы, электронные доски объявлений, Internet;
управление процессом печати документов.
Рассмотрим более подробно процесс создания прикладной программы Windows.
3.1 Главное окно
Прикладная программа Windows это любая программа, которая специально написана для работы в операционной среде Windows и использующая интерфейс прикладной программы (API).
Прикладная программа Windows имеет следующие основные компоненты: основную функцию WinMain; т.н. оконную процедуру функцию WndProc.
WinMain это точка входа в программу. В любой программе для Windows имеется функция WinMain, она определяется следующим образом:
integer function WinMain (hInstance, hPrevInstance,&
lpszCmdLine, nCmdShow).
hInstance дескриптор (описатель, хэндл) экземпляра. Это уникальное число, идентифицирующее программу, когда она работает под Windows;
hPrevInstance дескриптор предыдущего экземпляра программы. Под Windows 95 этот параметр всегда NULL;
lpszCmdLine указатель на оканчивающуюся нулем строку, в которой содержатся любые параметры, переданные в программу из командной строки.
nCmdShow число, показывающее, каким должно быть выведено на экран окно в начальный момент.
В большинстве случаев эта функция делает следующее:
вызывает функции инициализации, которые регистрируют классы окон, создают окна и выполняют другие инициализации;
запускает цикл обработки сообщений из очереди прикладной программы;
завершает работу программы.
WndProc это функция многократного вызова, т.е. функция программы, которую вызывает Windows. Сама программа никогда не вызывает эту функцию напрямую. Каждое окно имеет соответствующую оконную процедуру. Оконная процедура это способ инкапсулирования кода, отвечающего за ввод информации и за вывод информации на экран, что реализуется путем посылки сообщений окну.
В процессе создания главного окна программы условно можно выделить четыре этапа:
- регистрация класса главного окна;
- создание главного окна;
- отображение и корректировка главного окна;
- организация цикла сообщений.
Рассмотрим подробнее каждый из этапов.
Регистрация класса окна.
Окно всегда создается на основе класса окна. Класс окна идентифицирует оконную процедуру, которая выполняет процесс обработки сообщений, поступающих окну, а также определяет некоторые атрибуты окна, уникальные для него, такие, например, как форма курсора и имя меню окна. На основе одного класса окна можно создать несколько окон.
Перед созданием окна для программы необходимо зарегистрировать класс окна путем вызова функции RеgisterСlаss:
ret = RеgisterСlаss (lpwc).
ret целочисленная переменная, содержащая возвращаемое функцией значение;
lpwc указатель на структуру типа T_WNDCLASS, содержащую в своих двенадцати полях информацию об имени, атрибутах, ресурсах и функции окна данного класса.
Заполнение структуры и регистрация класса окна производятся в WinMain. Если регистрация прошла успешно, функция возвращает число, идентифицирующее регистрируемый класс. В противном случае она возвращает ноль.
Создание окна.
Окно создается с помощью функции СreateWindowEx (она отличается от аналогичной функции CreateWindow возможностью задания расширенного стиля окна и наличием параметра, используемого в качестве указателя на какие-то данные, на которые программа в дальнейшем могла бы ссылаться). Эта функция побуждает Windows создать окно, которое имеет указанный тип и принадлежит к определенному классу. Вызов функции СreateWindowEx осуществляется следующим образом:
hWnd = CreateWindowEx (&
INT4 (WS_EX_DLGMODALFRAME), ! расширенный стиль окна&
lpszClassName, ! Имя класса окна&
lpszAppName, ! Заголовок главного окна&
INT4 (WS_OVERLAPPEDWINDOW), ! Стиль окна&
0, ! X координата левого верхнего угла&
0, ! Y координата верхнего левого угла&
GetSystemMetrics (SM_CXSCREEN) 32, ! Ширина окна&
GetSystemMetrics (SM_CYSCREEN) 32, ! Высота окна&
NULL, ! Дескриптор родительского окна&
hMenu, ! Дескриптор меню окна&
hInstance,! Дескриптор экземпляра&
NULL) ! Параметры создания
Параметр с комментарием имя класса окна содержит строку, являющуюся именем только что зарегистрированного класса окна (Krs_w). Т.о., этот параметр связывает окно с классом окна.
Заголовок главного окна содержит текст, который появляется в строке заголовка (Компоновщик расчетных схем).
Окно, созданное программой, является обычным перекрывающимся окном с заголовком, системным меню, главным меню, иконками для сворачивания, разворачивания и закрытия окна справа на строке заголовка и рамкой окна (стандартный стиль окон WS_ОVЕRLАРРЕDWINDOW). Из предлагаемого ОС Windows набора расширенных стилей выбран стиль WS_EX_DLGMODALFRAME, добавляющий окну двойную рамку.
Параметр с комментарием дескриптор родительского окна устанавливается в NULL, т.к. у нашего окна отсутствует родительское ок