Ответить на сообщение
Вернуться к теме
Вы отвечаете на сообщение:
Автор: alex19921992 (06.02.2007 в 14:42) Вот теперь другая проблема: Прога должна при нажатии клавиши менять цвет прямоугольника, но не меняет, почему?
LRESULT CALLBACK WndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam) { bool mybool=true; /* отвечает пременная за состояние прямоугольника зеленый/синий*/ HDC hdc; PAINTSTRUCT ps; RECT rect; switch(iMsg) { case WM_CREATE: return 0; case WM_PAINT: hdc = BeginPaint(hwnd, &ps); GetClientRect(hwnd, &rect); int i,j; /*рисуем прямоугольник в зависимости от состояния переменной*/ if(mybool==true) {for(i=0;i<100;i++)for(j=0;j<100;j++)SetPixel(hdc,i,j,RGB(0,0,255));} if(mybool==false){for(i=0;i<100;i++)for(j=0;j<100;j++)SetPixel(hdc,i,j,RGB(0,200,0));} EndPaint(hwnd, &ps); return 0; //------------------------- case WM_KEYDOWN: /*в зависимости от переменной меняем состояние*/ if(mybool==false)mybool=true; if(mybool==true)mybool=false; return 0; //------------------------- case WM_DESTROY: PostQuitMessage(0); return 0; } return DefWindowProc(hwnd, iMsg, wParam, lParam); }
Ваше имя:
Пароль:
Цитировать Используйте тэги для выделения текста: Код: [code][/code] Жирный: [b][/b] Наклонный: [i][/i] URL: [url][/url]
Сообщение:
Прикрепить: