Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Оконная функция вызываемая операционной системой
- // и получается сообщение из очереди для данного приложения
- LRESULT CALLBACK WndProc(HWND hWnd, UINT message,
- WPARAM wParam, LPARAM lParam)
- {
- PAINTSTRUCT ps;
- HDC hdc;
- static int sx, sy;
- static HPEN hpen;
- int a, b, x_scr, y_scr; //Экранные координаты
- POINT pt[4]= {{-60, 100},{-60,-100},{60, -100},{60, 100}};
- POINT pt1[4];
- const int WINDTH = 400;
- const int HEIGHT = 300;
- int n=2, i, j;
- double alpha = M_PI/n;
- static HBRUSH hBrush;
- double x;
- switch(message)
- {
- case WM_CREATE:
- hpen = CreatePen(PS_SOLID, 2, RGB(0, 0, 0));
- break;
- case WM_SIZE:
- sx = LOWORD(lParam); //ширина окна
- sy = HIWORD(lParam);
- break;
- case WM_PAINT:
- hdc = BeginPaint(hWnd, &ps);
- for (i=0; i<=n; i++)
- {
- hBrush = CreateSolidBrush(RGB(255,255-255./n*i, 255-255./n*i));
- SelectObject(hdc, hBrush);
- for (j =0; j <=3; j++)
- {
- pt1[j].x=500+(pt[j].x*cos(alpha*i)-pt[j].y*sin(alpha*i))+i*100;
- pt1[j].y = 300 +(pt[j].x*sin(alpha*i)+pt[j].y*cos(alpha*i));
- }
- Ellipse(hdc,pt1[0].x,pt1[0].y,pt1[2].x,pt1[2].y);
- }
- EndPaint(hWnd, &ps);
- break;
- case WM_DESTROY:
- DeleteObject(hpen);
- PostQuitMessage(0);
- break; //завершение программы
- //обработка сообщения по умолчанию
- default: return DefWindowProc(hWnd, message, wParam, lParam);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement