Advertisement
ArchonHS

KG2

Sep 30th, 2019
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.32 KB | None | 0 0
  1. #include <Windows.h>
  2. #include <tchar.h>
  3. #include "stdafx.h"
  4. #define _USE_MATH_DEFINES
  5. #include <math.h>
  6. LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
  7. TCHAR WinName[] = _T("MainFrame");
  8.  
  9. int APIENTRY WinMain(HINSTANCE This, HINSTANCE Prev, LPSTR cmd, int mode)
  10. {
  11.     HWND hWnd;
  12.     MSG msg;
  13.     WNDCLASS wc;
  14.     wc.hInstance = This;
  15.     wc.lpszClassName = WinName;
  16.     wc.lpfnWndProc = WndProc;
  17.     wc.style = CS_HREDRAW | CS_VREDRAW;
  18.     wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
  19.     wc.hCursor = LoadCursor(NULL, IDC_ARROW);
  20.     wc.lpszMenuName = NULL;
  21.     wc.cbClsExtra = 0;
  22.     wc.cbWndExtra = 0;
  23.  
  24.     wc.hbrBackground = (HBRUSH)(NULL);
  25.     if (!RegisterClass(&wc)) return 0;
  26.  
  27.     hWnd = CreateWindow(WinName, _T("Каркас Windiws-приложения"),
  28.         WS_OVERLAPPEDWINDOW,
  29.         CW_USEDEFAULT,
  30.         CW_USEDEFAULT,
  31.         CW_USEDEFAULT,
  32.         CW_USEDEFAULT,
  33.         HWND_DESKTOP,
  34.         NULL,
  35.         This,
  36.         NULL);
  37.     ShowWindow(hWnd, mode);
  38.  
  39.     while (GetMessage(&msg, NULL, 0, 0))
  40.     {
  41.         TranslateMessage(&msg);
  42.         DispatchMessage(&msg);
  43.     }
  44.     return 0;
  45. }
  46. LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
  47. {
  48.     PAINTSTRUCT ps;
  49.     HDC hdc;
  50.     static int sx, sy, f;
  51.     static HPEN hpen1, hpen2, hpen3, hpen4, hpen5;
  52.     static HBRUSH hbrush1;
  53.     int a, b, x_scr, y_scr;
  54.     double x, h;
  55.     switch (message)
  56.     {
  57.     case WM_CREATE:
  58.  
  59.         hpen1 = CreatePen(PS_SOLID, 2, RGB(0, 0, 0));
  60.         hpen2 = CreatePen(PS_SOLID, 2, RGB(255, 0, 0));
  61.         hpen3 = CreatePen(PS_SOLID, 2, RGB(0, 255, 0));
  62.         hpen4 = CreatePen(PS_SOLID, 2, RGB(0, 0, 255));
  63.         hpen5 = CreatePen(PS_SOLID, 2, RGB(160, 30, 255));
  64.         break;
  65.     case WM_SIZE:
  66.         sx = LOWORD(lParam);
  67.         sy = HIWORD(lParam);
  68.         break;
  69.     case WM_PAINT:
  70.         hdc = BeginPaint(hWnd, &ps);
  71.         SelectObject(hdc, hpen1);   //построение осей
  72.         Ellipse(hdc, 100, 100, 150, 150);
  73.         SelectObject(hdc, hpen2);
  74.         Ellipse(hdc, 120, 125, 170, 175);
  75.         SelectObject(hdc, hpen3);
  76.         Ellipse(hdc, 80, 125, 130, 175);
  77.         SelectObject(hdc, hpen4);
  78.         //Ellipse(hdc, 90, 135, 150, 195);
  79.         SelectObject(hdc, hpen5);
  80.         //Ellipse(hdc, 100, 100, 150, 150);
  81.         EndPaint(hWnd, &ps);
  82.         break;
  83.     case WM_DESTROY:
  84.         DeleteObject(hpen1);
  85.         DeleteObject(hpen2);
  86.         DeleteObject(hpen3);
  87.         DeleteObject(hpen4);
  88.         DeleteObject(hpen5);
  89.         PostQuitMessage(0);
  90.         break;
  91.     default: return DefWindowProc(hWnd, message, wParam, lParam);
  92.     }
  93.     return 0;
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement