Использование регионов без дескриптора окна
От: JekSoft  
Дата: 01.07.09 12:57
Оценка:
Здравствуйте!
Подскажите пожалуйста, можно ли использовать при отрисовке регионы (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);


Заранее спасибо!
Re: Использование регионов без дескриптора окна
От: rus blood Россия  
Дата: 01.07.09 16:27
Оценка:
Здравствуйте, JekSoft, Вы писали:

JS>
JS>HRGN rgn = CreateRoundRectRgn(0, 0, m_width, m_height, 7, 7);
JS>//SetWindowRgn(hWnd, rgn, false); // каким образом можно выбрать регион в данный контекст? Если нет дескриптора окна.
JS>



SelectClipRgn и прочие clipping functions
Имею скафандр — готов путешествовать!
Re[2]: Использование регионов без дескриптора окна
От: JekSoft  
Дата: 02.07.09 03:52
Оценка:
Здравствуйте, rus blood, Вы писали:

RB>SelectClipRgn и прочие clipping functions


Спасибо огромное, очень помогло
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.