2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 SelectObject(hdc, hPen) Winapi
Сообщение31.10.2009, 16:11 
ЧТо-то не получается устранить ошибку
Код:
case WM_PAINT:
          hdc = BeginPaint(hwnd, &ps);
          hPen = CreatePen(PS_NULL, 1, RGB(0, 0, 0));
Err     holdPen = SelectObject(hdc, hPen);

          hBrush1 = CreateSolidBrush(RGB(121, 90, 0));
          hBrush2 = CreateSolidBrush(RGB(240, 63, 19));
          hBrush3 = CreateSolidBrush(RGB(240, 210, 18));
          hBrush4 = CreateSolidBrush(RGB(9, 189, 21));

Err      holdBrush = SelectObject(hdc, hBrush1);
          Rectangle(hdc, 30, 30, 100, 100);
          SelectObject(hdc, hBrush2);
          Rectangle(hdc, 110, 30, 180, 100);
          SelectObject(hdc, hBrush3);
          Rectangle(hdc, 30, 110, 100, 180);
          SelectObject(hdc, hBrush4);
          Rectangle(hdc, 110, 110, 180, 180);

          SelectObject(hdc, holdPen);
          SelectObject(hdc, holdBrush);


Код:
1.cpp:39: error: invalid conversion from `void*' to HPEN__*'
1.cpp:46: error: invalid conversion from `void*' to `HBRUSH__*'
:: === Build finished: 2 errors, 0 warnings ===



Подскажите, пожалуйста ,как исправить, пробовал просто приводить тип holdPen = SelectObject(hdc, (HPEN)hPen); выдаёт ошибку

 
 
 
 Re: SelectObject(hdc, hPen) Winapi
Сообщение31.10.2009, 16:33 
Дык hPen должен быть объявлен как HPEN hPen, тоже для hBrush: HBRUSH hBrush. А у вас что?

-- Сб окт 31, 2009 19:36:20 --

Нет, здесь дело в другом. Попробуйте написать holdPen = (HPEN)SelectObject(hdc, hPen) и holdBrush = (HBRUSH)SelectObject(hdc, hBrush1). Сработало?

 
 
 
 Re: SelectObject(hdc, hPen) Winapi
Сообщение31.10.2009, 17:38 
Заработало, спасибо.

 
 
 [ Сообщений: 3 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group