Здравствуйте!
Подскажите пожалуйста, можно ли использовать при отрисовке регионы (HREGION), если контекст HDC был создан не из окна, а с помощью CreateCompatibleDC и CreateCompatibleBitmap?
Вот пример кода:
Здесь создается битмап и контекст устройства:
HDC hdcMem = CreateCompatibleDC(dc);
HBITMAP hbmMem = CreateCompatibleBitmap(dc, m_width, m_height);
SelectObject(hdcMem, hbmMem);
Здесь происходит отрисовка:
// здесь создается регион, чтобы заливка градиентом ограничивалась указанной областью.
HRGN rgn = CreateRoundRectRgn(0, 0, m_width, m_height, 7, 7);
//SetWindowRgn(hWnd, rgn, false); // каким образом можно выбрать регион в данный контекст? Если нет дескриптора окна.
TRIVERTEX verts[2];
//... заполнение массива verts пропущено ...
GRADIENT_RECT gradRect;
gradRect.UpperLeft = 0;
gradRect.LowerRight = 1;
GradientFill(hdc, verts, 2, &gradRect, 1, GRADIENT_FILL_RECT_V);
Заранее спасибо!
Здравствуйте, JekSoft, Вы писали:
JS>JS>HRGN rgn = CreateRoundRectRgn(0, 0, m_width, m_height, 7, 7);
JS>//SetWindowRgn(hWnd, rgn, false); // каким образом можно выбрать регион в данный контекст? Если нет дескриптора окна.
JS>
SelectClipRgn и прочие clipping functions
Здравствуйте, rus blood, Вы писали:
RB>SelectClipRgn и прочие clipping functions
Спасибо огромное, очень помогло