Новичок
Профиль
Группа: Участник
Сообщений: 2
Регистрация: 6.4.2011
Репутация: нет Всего: нет
|
Проблема решено | Код |
void OnNcPaint(HWND hWnd, HRGN hRgn) { HDC hdc = GetWindowDC(hWnd); RECT rc; GetWindowRect(hWnd, &rc);
int width = rc.right - rc.left; int height = rc.bottom - rc.top; HDC hMemory = CreateCompatibleDC(hdc); HBITMAP hBmp = CreateCompatibleBitmap(hdc, width, height); HBITMAP oldBmp = (HBITMAP)SelectObject(hMemory, hBmp); Graphics graphics(hMemory);
LinearGradientBrush linGrhRight( Rect(width - g_WindowPadding - 1, g_HeaderHeight, g_WindowPadding, height - g_WindowPadding), *currentColor, Color(255, 255, 255, 255), 180.0f, FALSE);
LinearGradientBrush linGrhHeader( Point(0, 0), Point(0, 10), Color(255, 255, 255, 255), // opaque red *currentColor);
LinearGradientBrush linGrhLeft ( Point(0, 0), Point(g_WindowPadding, 0), *currentColor, Color(255, 255, 255, 255));
graphics.DrawLine(pen, 0, 0, width, 0);
graphics.FillRectangle(&linGrhHeader, 0, 1, width, 10); graphics.FillRectangle(solidBrush, 0, 10, width, g_HeaderHeight - 10);
graphics.FillRectangle(&linGrhLeft, 0, g_HeaderHeight, g_WindowPadding, height - g_HeaderHeight - g_WindowBottomHeight - g_WindowPadding); graphics.FillRectangle(solidBrush, 0, height - g_WindowBottomHeight - g_WindowPadding, g_WindowPadding, g_WindowBottomHeight);
graphics.FillRectangle(&linGrhRight, width - g_WindowPadding, g_HeaderHeight, g_WindowPadding, height - g_WindowBottomHeight - g_WindowBottomHeight - g_WindowPadding); graphics.FillRectangle(solidBrush, width - g_WindowPadding, height - g_WindowBottomHeight - g_WindowPadding, g_WindowPadding, g_WindowBottomHeight);
graphics.FillRectangle(solidBrush, 0, height - g_WindowPadding, width, g_WindowPadding);
RectF rectF(10.0f, 0.0f, (float)width, (float)g_HeaderHeight); graphics.DrawString(L"Window Caption", -1, font, rectF, stringFormat, headerTextBrush);
BitBlt(hdc, 0, 0, width, 30, hMemory, 0, 0, SRCCOPY); BitBlt(hdc, 0, 0, g_WindowPadding, height, hMemory, 0, 0, SRCCOPY); BitBlt(hdc, width - g_WindowPadding, 0, g_WindowPadding, height, hMemory, 0, 0, SRCCOPY); BitBlt(hdc, 0, height - g_WindowPadding, width, g_WindowPadding, hMemory, 0, height - g_WindowPadding, SRCCOPY);
SelectObject(hdc, oldBmp);
DeleteDC(hMemory); DeleteDC(hdc); DeleteObject(hBmp); }
|
|