Ответить на сообщение
Вернуться к теме
Вы отвечаете на сообщение:
Автор: oleg_alexeev (27.02.2007 в 21:01) Вот вполне корректный код обработчика WM_PAINT:
PAINTSTRUCT ps; HDC hdc = BeginPaint(hWnd, &ps); RECT r, tmp; GetClientRect(hWnd, &r); HDC hdc_buf = CreateCompatibleDC(hdc); HBITMAP hbm_buf = CreateCompatibleBitmap(hdc, r.right, r.bottom); HBITMAP hbm_old = (HBITMAP) SelectObject(hdc_buf, hbm_buf); HBRUSH hbr1 = CreateSolidBrush(RGB(0,100,200)); HBRUSH hbr2 = CreateSolidBrush(RGB(200,100,0)); // paint something tmp = r; tmp.bottom = 30; FillRect(hdc_buf, &tmp, hbr1); tmp = r; tmp.top = 30; FillRect(hdc_buf, &tmp, hbr2); TextOut(hdc_buf, 10, 20, "Hello world!", 12); // put to screen BitBlt(hdc, 0, 0, r.right, r.bottom, hdc_buf, 0, 0, SRCCOPY); DeleteObject(hbr1); DeleteObject(hbr2); SelectObject(hdc_buf, hbm_old); DeleteObject(hbm_buf); DeleteDC(hdc_buf); EndPaint(hWnd, &ps);
Ваше имя:
Пароль:
Цитировать Используйте тэги для выделения текста: Код: [code][/code] Жирный: [b][/b] Наклонный: [i][/i] URL: [url][/url]
Сообщение:
Прикрепить: