Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: 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]

Сообщение:

Прикрепить: