кисть на основе HBITMAP
От: Luvr  
Дата: 30.09.02 03:05
Оценка:
Хочу создать кисть на основе Bitmap.
Если Bitmap брать из ресурса, то всё получается.

А как мне слелать кисть при помощи HBITMAP. (Допустим у меня нет ресурса, а есть Handle ) ?

Знаю, что нужно использовать функцию CreateDIBPatternBrushPt.

Но может кто поделится готовым кодом.

Положительный ответ оценю.
Re: кисть на основе HBITMAP
От: retalik www.airbandits.com/
Дата: 30.09.02 05:03
Оценка: 3 (1)
Здравствуйте Luvr, Вы писали:

L>А как мне слелать кисть при помощи HBITMAP. (Допустим у меня нет ресурса, а есть Handle ) ?

L>Знаю, что нужно использовать функцию CreateDIBPatternBrushPt.
L>Но может кто поделится готовым кодом.
L>Положительный ответ оценю.
А какая разница — есть ресурс или HBITMAP ты получил от системы? Главное, чтобы хендл был валидным:

case WM_PAINT:
{
    hdc = BeginPaint(hWnd, &ps);
    HBITMAP hbm=(HBITMAP)LoadImage(0, MAKEINTRESOURCE(32738), IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR);
    HBRUSH hbr=CreatePatternBrush(hbm);
    HGDIOBJ hOld = SelectObject(ps.hdc, hbr);
    PatBlt(hdc, 0, 0, 200, 200, PATCOPY);
    SelectObject(ps.hdc, hOld);
    DeleteObject(hbr);
    DeleteObject(hbm);
    EndPaint(hWnd, &ps);
    break;
}


Другое дело, что под 95 можно только кисточки 8х8 создавать...
Успехов,
Виталий.
Re: кисть на основе HBITMAP
От: Luvr  
Дата: 30.09.02 07:09
Оценка:
CreatePatternBrush — Сильно!!! (Просто и главное работает. )
А я прыгаю вокруг CreateDIBPatternBrush и CreateDIBPatternBrushPt.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.