Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3 семестр, WinAPI, MFC.pdf
Скачиваний:
370
Добавлен:
15.06.2014
Размер:
6.17 Mб
Скачать

средство для переноса настроек и документов между account-ами и для перехода на новый диск или машину;

значительно улучшена система Plug & Play - автоматический поиск нового оборудования и установка соответствующих драйверов для него (иногда очень сильно «достает»);

новая более удобная система помощи;

технология шрифтов ClearType – повышение разрешения при отображении шрифтов по горизонтали (особенно нужно для поворачивающихся TFT-мониторов);

Internet Explorer 6.0;

набор новых интернет-игр;

новая система защиты через ключи активации (усложняющая жизнь пиратам и отечественным пользователям);

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

упрощен поиск благодаря группировке связанных с выполнением задач поиска на специальной панели поиска (Search Companion);

упрощены способы отображения файлов благодаря возможности объединения их в различные группы;

Опытные пользователи могут теперь с помощью планировщика задач (Scheduled Tasks), расположенного в разделе служебных программ, задавать график проведения дефрагментации дисков;

Файловая система FAT32 на дисках DVD-RAM

Наличие в Windows XP компонента MAC упрощает установку и

администрирование домашних сетей, состоящих из нескольких сегментов. Указанный компонент использует алгоритм STA, с помощью которого прозрачным образом осуществляется подключение сегментов сети друг к другу. Использование

MAC-моста, включенного в состав Windows XP, позволяет домашней сети функционировать в качестве единой IP-подсети

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

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

1.Назовите основные черты ОС Microsoft Windows. MS-DOS, Windows 1.0 и Windows 2.0, Windows 3.1 и Windows 3.11, Windows 95, Windows 98 и Windows Me, Windows NT, Windows 2000 и Windows XP

Общая архитектура WINDOWS приложения.

Каркас приложения

#include <windows.h> // заголовочный файл

windows.h – обязательно включаемый файл, содержащий директивы #include для всех остальных стандартных файлов заголовков Windows. windows.h включает в себя много других заголовочных файлов, содержащих объявления функций Windows, структур Windows, новые типы данных и числовые константы.

В любом типовом приложении имеется только две функции: WinMain и WndProc.

WinMain

WinMain — это точка входа в программу. Это аналог стандартной функции main языка С. В любой программе для Windows имеется функция WinMain.

//прототип WinMain

 

 

 

int WINAPI WinMain(

 

 

 

HINSTANCE hInstance,

// Дескриптор экземпляра приложения

 

HINSTANCE hPrevInstance,

 

// В Win32 всегда равен NULL,

предыдущий экземпляр

 

 

 

LPSTR lpCmdLine,

 

// Указатель на командную строку. Он

позволяет

//

приложению получать данные

из

командной строки.

 

 

 

int nCmdShow )

 

// Определяет, как приложение

первоначально

// отображается на дисплее: пиктограммой

 

SW_SHOWMINNOACTIVE)

//

(nCmdShow

=

// или в виде открытого окна

 

 

 

 

//(nCmdShow = SW_SHOWNORMAL).

 

! WinMain использует последовательность вызовов WINAPI (паскалевское соглашение о передаче аргументов при вызове функций) и, по своему завершению, возвращает операционной системе Windows целое число.

Функции выполняемые WinMain:

Сохранение дескриптора экземпляра приложения в глобальной переменной.

Регистрация класса окна приложения и другие инициализации.

Создание главного окна приложения и, возможно, других, подчиненных окон.

Отображение созданного окна и отрисовка содержимого его внутренней части.

Запуск цикла обработки сообщений, помещаемых в очередь приложения.

Завершение работы приложения при извлечении из очереди сообщения WM_QUET

Регистрация класса окна

С помощью функции RegisterClassEx регистрируется класс окна.

RegisterClassEx - это расширенная (на что указывает окончание названия Ex, т. е. extended — расширенный) версия функции RegisterClass из предыдущих версий Windows, имеющая указатель на структуру типа WNDCLASS.

Класс окна определяет общее поведение нового типа окон, включая адрес новой оконной процедуры.

WNDCLASS wc;

// Структурадля

информацииоклассеокна

 

// ЗаполнениеструктурыWNDCLASS длярегистрацииклассаокна.

 

memset(&wc, 0, sizeof(wc));

 

wc.lpszClassName=ClassName;

// Имякласса

окон

 

wc.lpfnWndProc=(WNDPROC)WndProc;

// Адресоконной

функции

 

wc.style=CS_HREDRAW|CS_VREDRAW;

// Стилькласса

окон

 

wc.hInstance=hInstance;

// Экземпляр

приложения

 

wc.hIcon=LoadIcon(NULL,IDI_APPLICATION);

// Пиктограмма

дляокон

 

wc.hCursor=LoadCursor(NULL,IDC_ARROW);

// Курсормыши

дляокон

 

wc.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);

// Кистьдляокон

wc.lpszMenuName=NULL;

// Ресурсменю

окон

 

wc.cbClsExtra=0;

//

Дополнительнаяпамять

 

wc.cbWndExtra=0;

//

Дополнительнаяпамять

 

// Pегистрацияклассаокна.

 

RegisterClassEx(&wc);

 

! НаиболееважнымипараметрамиструктурыWNDCLASS являютсяstyle иlpfnWndProc. Основнаячастьтого, чтопредставляетокнокакуникальнуюисложнуюсущность, управляется черезстильклассаокнаиоконнуюпроцедуру. ПараметрlpfnWndProc указываетадресфункции оконнойпроцедуры. Этафункцияотвечаетзаобработкувсехсообщений, получаемыхокном. Онаможетобрабатыватьэтисообщениясамаиливызыватьоконнуюпроцедурупоумолчанию DefWindowProc. некоторыеглобальныехарактеристикиокнауправляютсячерезпараметрстиля окна– style. Дляэтогопараметраможноустановитькомбинациюзначений, используяоперацию поразрядногоИЛИ.

Создание окна.

CreateWindow- этофункция, спомощьюкоторойприложениесамосоздаётокноивозвращает дескрипторсозданногоокна.

Дескрипторокна– этоодинизважнейшихописателей, которымиоперируетпрограммадля Windows. ДлямногихфункцийWindows требуетсядескрипторокна, благодарякоторому Windows знает, ккакомуокнуприменитьфункцию.ЭтотописательхранитсявпеременнойhWnd, котораяимееттипHWND (описательокна— handle to a window).

// созданиеглавногоокнаприложения

 

hwnd = CreateWindow (szAppName,

//имяклассаокна

"The Hello Program",

//заголовококна

WS_OVERLAPPEDWINDOW,

//стильокна

CW_USEDEFAULT,

//начальноеположениепоx

CW_USEDEFAULT,

//начальноеположениепоy

CW_USEDEFAULT,

//начальныйразмерпоx

CW_USEDEFAULT,

//начальныйразмерпоy

NULL,

//описательродительскогоокна

NULL,

//описательменюокна

hInstance,

//описательэкземплярапрограммы

NULL);

//параметрысоздания

if(!hWnd)

 

{

 

MessageBox(NULL,"Create: error",AppTitle,MB_OK|MB_ICONSTOP); // Окнонесоздано,

выдаем

//

предупреждение.

return FALSE;

}

! Нельзя путать понятия класс окна и окно, поэтому нельзя все характеристики окна

задать за один раз. Все окна-кнопки создаются на основе одного и того же класса окна. Класс окна определяет оконную процедуру и некоторые другие характеристики окон, создаваемых на основе этого класса. При создании окна, определяются дополнительные характеристики окна, уникальные для него. Оконная процедура, связанная с этим классом окна, находится в самой операционной системе Windows.

Отображение окна.

К тому времени, когда функция CreateWindow возвращает управление программе, окно уже создано внутри Windows. Однако, на экране монитора оно еще не появилось. Необходимы еще два вызова.

ShowWindow(hWnd, nCmdShow);

// Отображаем окно.

UpdateWindow(hWnd);

// Обновляем содержимое клиентской

области окна.

 

После вызова функции UpdateWindow, окно окончательно выведено на экран.