270 lines
8.3 KiB
C++
270 lines
8.3 KiB
C++
//// лаба 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;
|
||
//}
|