Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <windows.h>
- #include <stdlib.h>
- #include "resource.h"
- int WINAPI fn(HWND hwnd,int cmd,WPARAM wp,LPARAM lp)
- {
- switch(cmd)
- {
- case WM_INITDIALOG:
- // редактируемые и статические элементы
- SetDlgItemInt(hwnd,IDC_R,25,true);
- SetDlgItemInt(hwnd,IDC_DT,35,true);
- return 1;
- case WM_CLOSE:
- EndDialog(hwnd,2);
- return 1;
- case WM_SIZE:
- InvalidateRect(hwnd,NULL,false);
- return 1;
- case WM_COMMAND:
- switch (LOWORD(wp))
- {
- case IDOK:
- EndDialog(hwnd,1);
- return 1;
- case IDC_REDRAW:
- InvalidateRect(hwnd,NULL,true);
- return 1;
- }
- return 0;
- case WM_PAINT:
- {
- PAINTSTRUCT ps;
- HDC hdc=BeginPaint(hwnd, &ps);
- RECT rt;
- GetClientRect(hwnd, &rt);
- int w=rt.right;int h=rt.bottom;// длина и высота рабочей области
- HBRUSH b0,b1,b2,b3;
- b1=CreateSolidBrush(RGB(255,0,0)); // red
- b2=CreateSolidBrush(RGB(255,255,0)); //yellow
- b3=CreateSolidBrush(RGB(0,255,0)); //green
- HPEN p0,p1,p2;
- p1=CreatePen(PS_SOLID,2,RGB(0,0,0));
- p2=CreatePen(PS_SOLID,4,RGB(0,0,0)); // перья
- p0=(HPEN)SelectObject(hdc,p1); // текущее перо
- b0=(HBRUSH)SelectObject(hdc,b1); // текущая кисть
- int dt=GetDlgItemInt(hwnd,IDC_DT,NULL,false);
- int R=GetDlgItemInt(hwnd,IDC_R,NULL,false);
- int X=200,Y=100;
- //red
- SelectObject(hdc,p1); // текущее перо
- SelectObject(hdc,b1); // текущая кисть
- Ellipse(hdc,X-R,Y-R,X+R,Y+R); // овал
- //yellow
- SelectObject(hdc,b2); // текущая кисть
- Ellipse(hdc,X-R,Y+2*R-R,X+R,Y+2*R+R); // овал
- //green
- SelectObject(hdc,b3); // текущая кисть
- Ellipse(hdc,X-R,Y+4*R-R,X+R,Y+4*R+R); // овал
- Ellipse(hdc,X-2*R-R,Y+4*R-R,X-2*R+R,Y+4*R+R); // овал
- Ellipse(hdc,X+2*R-R,Y+4*R-R,X+2*R+R,Y+4*R+R); // овал
- SelectObject(hdc,p0); // вернуть старые перо и кисть
- SelectObject(hdc,b0);
- DeleteObject(p1); // удалить все созданные объекты
- DeleteObject(p2);
- DeleteObject(b1);
- DeleteObject(b2);
- DeleteObject(b3);
- EndPaint(hwnd, &ps);
- }
- return 1;
- }
- return 0;
- }
- int WINAPI WinMain(HINSTANCE hi,HINSTANCE,LPSTR,int)
- {
- return DialogBox(hi,MAKEINTRESOURCE(SIMPLE),NULL,(DLGPROC)fn);
- }
Advertisement
Add Comment
Please, Sign In to add comment