|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
Опции темы | Опции просмотра |
12.08.2011, 04:16 | #1 (permalink) |
Member
Регистрация: 11.07.2011
Сообщений: 49
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Вытекание воды из сосуда
|
12.08.2011, 04:16 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Скорее всего проблема уже была решена ранее в других обсуждениях Капля воды Реально протащить 4-6км пластиковой трубы под землей для подачи воды? |
12.08.2011, 04:19 | #2 (permalink) |
Member
Регистрация: 11.07.2011
Сообщений: 49
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Вот код проги:
/*Программа 5-2. Вывод текста и простых геометрических фигур*/ /*Оператора препроцессора*/ #include <windows.h> #include <math.h> #include <windowsx.h> #define ID_BUTTON1 12 int n=5; int sis=1; int d=0; /*Прототипы используемых в программе функция пользователя*/ BOOL OnCreate(HWND,LPCREATESTRUCT); void OnPaint(HWND); void OnDestroy(HWND); void OnCommand(HWND hwnd,int,HWND,UINT); LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); /*Глобальные переменные, доступные всем функциям*/ HPEN hRedPen,hGreenPen,hBluePen;//Дескрипторы новых перьев HBRUSH hRedBrush,hGreenBrush, hBlueBrush,hGreenBrush1,pBrush;//и новых кистей /*Главная функция WinMain*/ int WINAPI WinMain(HINSTANCE hInst,HINSTANCE,LPSTR,int){ char szClassName[]="MainWindow"; char szTitle[]="Программа 5-2"; MSG msg; WNDCLASS wc; /*Зарегистрируем класс главного окна*/ ZeroMemory(&wc,sizeof(wc)); wc.lpfnWndProc=WndProc; wc.hInstance=hInst ; wc.hIcon=LoadIcon(NULL,IDI_APPLICATION) ; wc.hCursor=LoadCursor(NULL,IDC_ARROW); wc.hbrBackground=CreateSolidBrush(RGB(200, 200,100));// Окно бледно-желтое wc.lpszClassName=szClassName; RegisterClass (&wc) ; /*Создадим главное окно и сделаем его видимым*/ HWND hwnd=CreateWindow(szClassName,szTitle, WS_OVERLAPPEDWINDOW,50,50,900, 900, HWND_DESKTOP, NULL, hInst, NULL) ; //HWND hbutton; //hbutton= CreateWindow("button","Рисуй,пидор!", WS_CHILD | WS_VISIBLE | BS_DEFPUSHBUTTON, 605, 500, 120, 30, hwnd,(HMENU)ID_BUTTON1, hInst,NULL); ShowWindow(hwnd,SW_SHOWNORMAL); /*Организуем цикл обнаружения сообщений*/ while(GetMessage(&msg,NULL,0,0)) DispatchMessage(&msg) ; return 0; } /*0конная функция WndProc главного окна*/ LRESULT CALLBACK WndProc(HWND hwnd,UINT msg, WPARAM wParam,LPARAM lParam){ switch(msg) { HANDLE_MSG(hwnd,WM_CREATE,OnCreate); HANDLE_MSG(hwnd,WM_PAINT,OnPaint); HANDLE_MSG(hwnd,WM_DESTROY,OnDestroy); HANDLE_MSG(hwnd,WM_COMMAND,OnCommand); default: return(DefWindowProc(hwnd,msg,wParam,lParam)); } } /*Функия OnCreate обработки сообщений mt_CREATE*/ BOOL OnCreate(HWND hwnd,LPCREATESTRUCT){ /*Создадим новые перья*/ hRedPen=CreatePen(PS_SOLID,2,RGB(150,0, 0)) ; hGreenPen=CreatePen(PS_SOLID, 5, RGB (0,150, 0) ); hBluePen=CreatePen(PS_SOLID,1,RGB(200, 200,100)) ; hGreenBrush1=CreateSolidBrush (RGB (0,150, 0) ); //HPEN CreatePen(int fnPenStyle,int nWidth, COLORREF clrref); /*Создадям новые кисти*/ hRedBrush=CreateSolidBrush(RGB(200, 200,100 )); hGreenBrush=CreateSolidBrush(RGB(120,255,120) ) ; hBlueBrush=CreateSolidBrush(RGB(0,255, 255) ) ; return TRUE; } /*функия OnPaint обработки сообщений WHPAINT*/ void OnCommand(HWND hwnd,int id,HWND,UINT){ switch(id){ case ID_BUTTON1: sis=1; // z++; InvalidateRect(hwnd,NULL,TRUE); break; }} void OnPaint(HWND hwnd){ PAINTSTRUCT ps;//Структура для функции BeginPaint О HDC hdc=BeginPaint(hwnd,&ps); //Получим контекст устройства SetBkMode (hdc,TRANSPARENT); //Прозрачный фон под текстом MoveToEx(hdc,300,10,NULL);//правая линейка LineTo(hdc,320,5); MoveToEx(hdc,100,10,NULL);//правая линейка LineTo(hdc,80,5); MoveToEx(hdc,300,10,NULL);//правая линейка LineTo(hdc,300,420); MoveToEx(hdc,100,10,NULL);//левая LineTo(hdc,100,420); MoveToEx(hdc,100,420,NULL);//дно LineTo(hdc,300,420); Rectangle(hdc,120,420,150,620); Rectangle(hdc,250,420,280,620); Rectangle(hdc,120,420,280,450); //InvalidateRect(hwnd,NULL,TRUE); SelectPen(hdc,hBluePen); SelectBrush(hdc, hBlueBrush); Rectangle(hdc,102,50,300,420); //green kvadro //InvalidateRect(hwnd,NULL,TRUE); SelectPen(hdc,hGreenPen); MoveToEx(hdc,10,622,NULL);//дно LineTo(hdc,900,622); int k; float U; int i; int Y; Y=0; float t; t=0; int g; g=10; //int s; k=400/5; int m; int z; z=0; for( i=1;i<=n;i++){Sleep(10); SelectBrush(hdc, hBlueBrush); //( i=z;n<=i;i--) SelectPen(hdc,hRedPen); Ellipse(hdc,294,i*k-8,306,i*k+8);} if(sis==1) for( i=0;i<=n;i++) { Sleep(2); z++; for( i=z+1;i<=n;i++){ for(int X=300; X<1000; X=X+4){ SelectPen(hdc,hBluePen); U=sqrt((g*i*k)/2); t=(X-300)/U; Y=((g*t*t)/2)+i*k; //if(Y<=620) Ellipse(hdc,X-2+10,Y-2,X+2+10,Y+2); }}} if(sis==1){ for(Y=30;Y<400;Y++) {Sleep(50); SelectBrush(hdc, hRedBrush); SelectPen(hdc,hBluePen); Rectangle(hdc,102,30,300,Y);}} EndPaint (hwnd, &ps); } /*функцяя OnDestroy обработки сообщения WM_DESTROY*/ void OnDestroy(HWND){ PostQuitMessage(0);//Завершим программу } |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|