100/лаба 6.cpp

270 lines
8.3 KiB
C++
Raw Normal View History

2024-11-15 13:44:32 +04:00
//// лаба 6.cpp : Определяет точку входа для приложения.
////
//
//#include "framework.h"
//#include "лаба 6.h"
//
//#define MAX_LOADSTRING 100
//
//// Глобальные переменные:
//HINSTANCE hInst; // текущий экземпляр
//WCHAR szTitle[MAX_LOADSTRING]; // Текст строки заголовка
//WCHAR szWindowClass[MAX_LOADSTRING]; // имя класса главного окна
//
//// Отправить объявления функций, включенных в этот модуль кода:
//ATOM MyRegisterClass(HINSTANCE hInstance);
//BOOL InitInstance(HINSTANCE, int);
//LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
//INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM);
//
//int APIENTRY wWinMain(_In_ HINSTANCE hInstance,
// _In_opt_ HINSTANCE hPrevInstance,
// _In_ LPWSTR lpCmdLine,
// _In_ int nCmdShow)
//{
// UNREFERENCED_PARAMETER(hPrevInstance);
// UNREFERENCED_PARAMETER(lpCmdLine);
//
// // TODO: Разместите код здесь.
//
// // Инициализация глобальных строк
// LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
// LoadStringW(hInstance, IDC_MY6, szWindowClass, MAX_LOADSTRING);
// MyRegisterClass(hInstance);
//
// // Выполнить инициализацию приложения:
// if (!InitInstance (hInstance, nCmdShow))
// {
// return FALSE;
// }
//
// HACCEL hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_MY6));
//
// MSG msg;
//
// // Цикл основного сообщения:
// while (GetMessage(&msg, nullptr, 0, 0))
// {
// if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
// {
// TranslateMessage(&msg);
// DispatchMessage(&msg);
// }
// }
//
// return (int) msg.wParam;
//}
//
//
//
////
//// ФУНКЦИЯ: MyRegisterClass()
////
//// ЦЕЛЬ: Регистрирует класс окна.
////
//ATOM MyRegisterClass(HINSTANCE hInstance)
//{
// WNDCLASSEXW wcex;
//
// wcex.cbSize = sizeof(WNDCLASSEX);
//
// wcex.style = CS_HREDRAW | CS_VREDRAW;
// wcex.lpfnWndProc = WndProc;
// wcex.cbClsExtra = 0;
// wcex.cbWndExtra = 0;
// wcex.hInstance = hInstance;
// wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_MY6));
// wcex.hCursor = LoadCursor(nullptr, IDC_ARROW);
// wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
// wcex.lpszMenuName = MAKEINTRESOURCEW(IDC_MY6);
// wcex.lpszClassName = szWindowClass;
// wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));
//
// return RegisterClassExW(&wcex);
//}
//
////
//// ФУНКЦИЯ: InitInstance(HINSTANCE, int)
////
//// ЦЕЛЬ: Сохраняет маркер экземпляра и создает главное окно
////
//// КОММЕНТАРИИ:
////
//// В этой функции маркер экземпляра сохраняется в глобальной переменной, а также
//// создается и выводится главное окно программы.
////
//BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
//{
// hInst = hInstance; // Сохранить маркер экземпляра в глобальной переменной
//
// HWND hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
// CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr);
//
// if (!hWnd)
// {
// return FALSE;
// }
//
// ShowWindow(hWnd, nCmdShow);
// UpdateWindow(hWnd);
//
// return TRUE;
//}
//
////
//// ФУНКЦИЯ: WndProc(HWND, UINT, WPARAM, LPARAM)
////
//// ЦЕЛЬ: Обрабатывает сообщения в главном окне.
////
//// WM_COMMAND - обработать меню приложения
//// WM_PAINT - Отрисовка главного окна
//// WM_DESTROY - отправить сообщение о выходе и вернуться
////
////
//LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
//{
// switch (message)
// {
// case WM_COMMAND:
// {
// int wmId = LOWORD(wParam);
// // Разобрать выбор в меню:
// switch (wmId)
// {
// case IDM_ABOUT:
// DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
// break;
// case IDM_EXIT:
// DestroyWindow(hWnd);
// break;
// default:
// return DefWindowProc(hWnd, message, wParam, lParam);
// }
// }
// break;
// case WM_PAINT:
// {
// PAINTSTRUCT ps;
// HDC hdc = BeginPaint(hWnd, &ps);
// // TODO: Добавьте сюда любой код прорисовки, использующий HDC...
// int x1 = 500, y1 = 160;
// int x2 = 600, y2 = 260;
// do {
// MoveToEx(hdc, x1, y1, NULL);
// LineTo(hdc, x2, y2);
// x1 += 20;
// } while (x1 <= 900);
//
// x1 = 0, y1 = 250;
// x2 = 100, y2 = 250;
// do {
// MoveToEx(hdc, x1, y1, NULL);
// LineTo(hdc, x2, y2);
// x1 += 5;
// y1 -= 10;
// } while (x1 <= 100);
//
// x1 = 100, y1 = 50;
// do {
// MoveToEx(hdc, x1, y1, NULL);
// LineTo(hdc, x2, y2);
// x1 += 5;
// y1 += 10;
// } while (x1 <= 200);
//
// x1 = 150, y1 = 0;
// x2 = 150, y2 = 100;
// do {
// MoveToEx(hdc, x1, y1, NULL);
// LineTo(hdc, x2, y2);
// x1 += 5;
// x2 += 5;
// } while (x1 <= 450);
//
// HPEN hPen;
// hPen = CreatePen(PS_SOLID, 5, RGB(185, 127, 87));
// SelectObject(hdc, hPen);
//
// x1 = 150, y1 = 500;
// x2 = 150, y2 = 600;
// do {
// MoveToEx(hdc, x1, y1, NULL);
// LineTo(hdc, x2, y2);
// x1 += 25;
// x2 += 25;
// } while (x1 <= 650);
// hPen = CreatePen(PS_SOLID, 5, RGB(0, 0, 0));
// SelectObject(hdc, hPen);
//
// hPen = CreatePen(PS_SOLID, 5, RGB(0, 255, 0));
// SelectObject(hdc, hPen);
//
// x1 = 150, y1 = 650;
// x2 = 150, y2 = 700;
// do {
// MoveToEx(hdc, x1, y1, NULL);
// LineTo(hdc, x2, y2);
// x1 += 15;
// x2 += 15;
// } while (x1 <= 650);
// hPen = CreatePen(PS_SOLID, 5, RGB(0, 0, 0));
// SelectObject(hdc, hPen);
//
//
// //дом
// MoveToEx(hdc, 337, 220, NULL);
// LineTo(hdc, 465, 335);
// LineTo(hdc, 213, 335);
// LineTo(hdc, 337, 220);
// LineTo(hdc, 465, 335);
// LineTo(hdc, 465, 472);
// LineTo(hdc, 586, 473);
// LineTo(hdc, 586, 457);
// LineTo(hdc, 530, 457);
// LineTo(hdc, 530, 442);
// LineTo(hdc, 465, 441);
// LineTo(hdc, 465, 472);
// LineTo(hdc, 213, 472);
// LineTo(hdc, 213, 335);
//
// MoveToEx(hdc, 293, 378, NULL);
// LineTo(hdc, 366, 378);
// LineTo(hdc, 366, 432);
// LineTo(hdc, 293, 432);
// LineTo(hdc, 293, 378);
// LineTo(hdc, 330, 378);
// LineTo(hdc, 329, 432);
// LineTo(hdc, 329, 403);
// LineTo(hdc, 292, 403);
// EndPaint(hWnd, &ps);
// }
// break;
// case WM_DESTROY:
// PostQuitMessage(0);
// break;
// default:
// return DefWindowProc(hWnd, message, wParam, lParam);
// }
// return 0;
//}
//
//// Обработчик сообщений для окна "О программе".
//INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
//{
// UNREFERENCED_PARAMETER(lParam);
// switch (message)
// {
// case WM_INITDIALOG:
// return (INT_PTR)TRUE;
//
// case WM_COMMAND:
// if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
// {
// EndDialog(hDlg, LOWORD(wParam));
// return (INT_PTR)TRUE;
// }
// break;
// }
// return (INT_PTR)FALSE;
//}