Guest User

Untitled

a guest
Feb 18th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.51 KB | None | 0 0
  1. #include<windows.h>
  2.  
  3. LRESULT CALLBACK WProc(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp)//Функция вызывается системой извне
  4. {
  5.   PAINTSTRUCT ps;
  6.   HDC hdc;
  7.   switch(msg)
  8.   {
  9.   case WM_DESTROY: PostQuitMessage(0); return 0; //При закрытии окошка
  10.   case WM_PAINT:
  11.     hdc=BeginPaint(hwnd, &ps); //Перерисовка окна при сворачивании или перетаскивании за экран
  12.     SetPixel(hdc, 15, 25, RGB(100, 0, 0)); //Закрасить пиксель
  13.     Rectangle(hdc, 10,20,150,100); //Кисть(рамка) и цвет заливки по умолчанию,координаты от левого верхнего угла
  14.     LineTo(hdc, 100, 200); //Нарисовать прямую
  15.     EndPaint(hwnd, &ps);
  16.     return 0;
  17.   default: return DefWindowProc(hwnd, msg, wp, lp); //При остальных событиях
  18.   }
  19. }
  20. int __stdcall WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
  21. {
  22.   WNDCLASS wc; //Создать окно. Класс окна.
  23.   memset(&wc, 0, sizeof(WNDCLASS)); //Обнуления в памяти всего что связано с wc
  24.     wc.style = CS_HREDRAW | CS_VREDRAW; //Стиль окна
  25.     wc.lpszClassName = "MyWindow1";//Имя класса
  26.     wc.hInstance = hInstance;//Привязка окна к приложению, к потоку
  27.     wc.hCursor = LoadCursor(NULL, IDC_ARROW); //Курсор окошка
  28.     wc.hIcon = LoadIcon(NULL, IDI_APPLICATION); //Иконка окошка
  29.     wc.lpfnWndProc = WProc; //Указывается адрес функции, которая вызывается, когда приходит какое-либо событие
  30.     wc.hbrBackground=GetSysColorBrush(COLOR_3DFACE); //Цвет кисти, которой закрашивается фон окна
  31.   RegisterClass(&wc); //Регистрируем этот класс.
  32.   HWND hwnd=CreateWindow("MyWindow1", "MyWindow!", WS_OVERLAPPEDWINDOW, 50, 50, 200, 300, NULL, NULL, hInstance, NULL); //Возвращает идентификатор окна(дескриптор окна). Аргументы: Название класса, имя окошка, стиль окна, положение экрана икс, положение экрана игрек, weight, height
  33.   ShowWindow(hwnd, nShowCmd);
  34.   MSG msg; //Структура message
  35.   while (GetMessage(&msg, NULL, 0, 0)) //Бесконечный цикл
  36.     DispatchMessage(&msg);
  37.   return 0;
  38. }
Add Comment
Please, Sign In to add comment