- •Отчет по учебной практике
- •Оглавление
- •Html. Web – презентация с использованием css.
- •Лабораторная работа № 1. Простейшее приложение
- •Лабораторная работа № 2. Клиентская область
- •Лабораторная работа № 4. Работа с таймером
- •Индивидуальное задание. Создание анимации
- •Лабораторная работа №1. Простейшее приложение Windows Forms
- •Лабораторная работа №2. Перекодировка текстового файла
- •Список литературы:
Лабораторная работа № 1. Простейшее приложение
Цель: Познакомиться с WinAPI. Создать простейшие приложения
Краткие теоретические сведения:
WinMain – главная функция.
Функция имеет следующий прототип:
int MessageBox(HWNDhWnd, LPCTSTRlpText,LPCTSTRlpCaption, UINTuType);
Параметры:
hWnd – дескриптор родительского окна. Он принимает значение NULL, если родительского окна нет.
lpText – указатель на строку, содержащую текст сообщения.
lpCaption — указатель на строку, содержащую текст заголовка диалогового окна.
uType – параметр содержит комбинацию флагов,задающих количество и типы кнопок в диалоговом окне, а также наличие заданной пиктограммы.
MessageBox – функция создания окна.
Ellipse – функция для создания эллипса, другие функции для создания простейших геометрических фигур можно изучить с помощью специализированного справочника.
Задание:
1.1 Наипростейшая программа Windows. В файле <winuser.h> найдите константы (MB_), задающие кнопки в диалоговом окне. Используйте их. Учимся выводить информацию через окно сообщений: задайте целочисленный параметр в командной строке. Выведите его с помощью функции MessageBox()(sprintf()).
1.2 Простейшее Windows-приложение. В файле <winuser.h> найдите константы (IDC_), которые являются идентификаторами стандартных курсоров. Используйте их. Второй параметр функции ShowWindow(). Константы с префиксом SW_.
Нарисуйте красным цветом прямоугольник, границы которого находятся на расстоянии 20 пикселей от границ клиентской области окна.
Нарисуйте синим цветом эллипс, вписанный в клиентскую область окна.
Нарисуйте красным цветом эллипс, вписанный в прямоугольник. Сделайте заливку внутреннего эллипса зеленым цветом.
Проведите две диагонали для клиентской области.
1.3 Выведите текст (названия углов) в четырех углах клиентской области, а в центре – свою фамилию.
Анализ реализации алгоритма
Для выполнения первого задания данной лабораторной работы я использовала константы (MB_) для создания кнопок в диалоговом окне и функции MessageBox() и sprintf() для вывода целочисленных констант.
Исходный код:
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR LpCmdLine, int nCmdShow)
{
MessageBox (NULL, "Hello!", "Caption", MB_OK);
MessageBox (NULL, "Do you want to delete?", "Caption", MB_YESNO | MB_ICONQUESTION);
MessageBox (NULL, "Error!!!", "Caption", MB_RETRYCANCEL | MB_ICONERROR);
char buffer [50];
int a;
cin >> a;
sprintf(buffer, "%d", a);
MessageBox (NULL, buffer, "Caption", MB_OK);
return 0;
}
Скриншоты реализации можно просмотреть в приложении 2.
Для выполнения второго задания я использовала функции CreatePen() и CreateSolidBrush() для создания перьев и кистей и функции GetClientRect для получения клиентской области; Ellipse() и Rectangle() для прорисовки эллипса и прямоугольника; функции MoveToEx() и LineTo() для прорисовки диагоналей; функцию TextOut() для вывода текста.
Исходный код:
RECT cRect;
GetClientRect(hwnd, &cRect);
Ellipse(hDC,0,0,cxClient,cyClient); //эллипс
Rectangle(hDC,20,20,cxClient-20,cyClient-20);//прямоугольник
MoveToEx(hDC, pt[0].x, pt[0].y, NULL);
LineTo(hDC, pt[1].x, pt[1].y);
TextOut(hDC, cxClient/2 - 45, cyClient/2, "Герман Полина", 13);
Скриншоты реализации можно просмотреть в приложении 2.
Выводы: Познакомилась с работой Win API, научилась создавать простейшие приложения. Познакомилась с функциями MessageBox()(sprintf()), GetClientRect(), Ellipse() и др.
