Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Met_ukaz_lab_SPO.DOC
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
270 Кб
Скачать
☆

1. Получение и вывод информации о вычислительной системе

1.1. Цель работы

Ознакомление с концепцией контекстного представления устройств в современных операционных системах, получение практических навыков по составлению, написанию и отладке программ, осуществляющих аппаратно-независимый вывод информации на экран дисплея, принтеры, и другие периферийные устройства, представленные контекстами. Изучение функций получения информации о вычислительной системе.

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

1.2. Указания по подготовке к выполнению лабораторной работы

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

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

При подготовке к работе необходимо изучить методические указания, а также разделы, указанные в [16, c.4-52], [17, c.7-26], [16, c.57-62], [17, c.28-32].

1. 3. Обзор темы работы

Любое оконное приложение, написанное под Windows должно содержать в себе следующие элементы:

  1. Функцию регистрации класса окна.

  2. Функцию создания окна.

  3. Оконную процедуру.

  4. Цикл обработки сообщений.

Далее по тексту приводится пример простейшей программы под Windows, которая выводит на экран окно приложения с надписью "Привет, мир!". Дааммы;

г) проверка правильности выполнения задания (тестирование).

Выполнение отчета и защита лабораторной работы.

Содержание отчета

Отчет должен содержать:

- титульный лист с наименованием лабораторной работы и данными исполнителя;

цель работы;

задание;

описание алгоритма решения поставленной задачи;

листинг программы с комментариями и пояснениями;

результаты работы программы и их анализ;

выводы;

1. Получение и вывод информации о вычислительной системе

1.1. Цель работы

Ознакомление с концепцией контекстного представления устройств в современных операционных системах, получение практических навыков по составлению, написанию и отладке программ, осуществляющих аппаратно-независимый вывод информации на экран дисплея, принтеры, и другие периферийные устройства, представленные контекстами. Изучение функций получения информации о вычислительной системе.

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

1.2. Указания по подготовке к выполнению лабораторной работы

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

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

При подготовке к работе необходимо изучить методические указания, а также разделы, указанные в [16, c.4-52], [17, c.7-26], [16, c.57-62], [17, c.28-32].

1. 3. Обзор темы работы

Любое оконное приложение, написанное под Windows должно содержать в себе следующие элементы:

Функцию регистрации класса окна.

Функцию создания окна.

Оконную процедуру.

Цикл обработки сообщений.

Далее по тексту приводится пример простейшей программы под Windows, которая выводит на экран окно приложения с надписью "Привет, мир!". Дакна

szTitle, // имя приложения

WS_OVERLAPPEDWINDOW, // стиль окна

CW_USEDEFAULT, // положение по Х

CW_USEDEFAULT, // положение по Y

CW_USEDEFAULT, // размер по Х

CW_USEDEFAULT, // размер по Y

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

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

hInstance, // указатель приложения

NULL); // параметры создания.

if (!hWnd) // Если окно не создалось, функция возвращает FALSE

{

return FALSE;

}

ShowWindow(hWnd, nCmdShow); // Показать окно

UpdateWindow(hWnd); // Обновить окно

return TRUE; //Успешное завершение функции

}

// FUNCTION: WndProc(HWND, unsigned, WORD, LONG)

// Оконная процедура. Принимает и обрабатывает все

// сообщения, приходящие в приложение

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)

{

PAINTSTRUCT ps;

HDC hdc;

RECT rt;

switch (message)

{// Сообщение приходит при создании окна

case WM_CREATE: break;

case WM_PAINT: // Перерисовать окно

// Начать графический вывод

hdc = BeginPaint(hWnd, &ps); // Область окна для рисования

GetClientRect(hWnd, &rt);

DrawText(hdc, "Привет, мир!", -1, &rt,

DT_SINGLELINE|DT_CENTER | DT_VCENTER);

// Закончить графический вывод

EndPaint(hWnd, &ps); break;

case WM_DESTROY: // Завершение работы

PostQuitMessage(0);

break;

default:

// Обработка сообщений, которые не обрабо//таны пользователем

return DefWindowProc(hWnd, message, wParam, lParam);

}

return 0;

}

Подробное описание параметров функций регистрации, создания окна и оконной процедуре можно узнать при помощи MSDN или Win32 Programmer's Reference, установленных на рабочих местах.

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

Контекст устройства фактически является структурой данных, которая внутренне поддерживается GUI. Контекст устройства связан с конкретным устройством вывода информации, таким как дисплей, принтер, плоттер. Некоторые значения в контексте устройства являются графическими "атрибутами", которые определяют некоторые особенности работы функций рисования. Например, для функции TexOut, эти атрибуты задают цвет текста, цвет фона, положение в окне при выводе и т.п.

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

В данной работе необходимо использовать следующие функции API: BeginPaint или CetDC для получения описателя контекста устройства и EndPaint или ReleaseDC для его уничтожения. Следует отметить, что при вызове BeginPaint и EndPaint обновляет фон рабочей области и устанавливает рабочую область в действительное состояние. Получение рабочей области окна можно выполнить при помощи функции GetClientRect. При этом, использовать контекст, полученный при помощи BeginPaint, можно только для рисования в рабочей области окна. Вывод текста можно осуществлять при помощи функций

TextOut и DrawText. Информация о системных параметрах получается при помощи функций GetTextMetrics и GetSystemMetrcs.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]