|
|
|
Прорисовка TForm по заданному объекту HRGN
|
|||
|---|---|---|---|
|
#18+
Всем привет, Подскажите мне, пожалуйста, как решается следующая задача: У меня есть форма (наследник от TForm), есть функция вычисляющая объект типа HRGN. Как мне заставить Builder отрисовать объект типа TForm по полученному региону HRGN? Цель,- нарисовать фигурное окно по заданному изображению путем делания прозрачным всех пикселей заданного цвета в изображении. Функция взята из инета (статья "Окна нестандартной формы", автор Т. Сорока), и нижеследует (если кому нужно): HRGN TfMainForm::BitmapToRegion(TPicture *APicture, TColor ATransparentColor) { HRGN Result = 0; for(int y = 0; y < APicture->Height; y++) { int x = 0, start = 0, end = 0; while((x < APicture->Width) && (APicture->Bitmap->Canvas->Pixels[x][y] == ATransparentColor)) x++; start = x ; while((x < APicture->Width) && (APicture->Bitmap->Canvas->Pixels[x][y] != ATransparentColor)) x++; end = x ; if(!Result) Result = CreateRectRgn(start, y, end, y + 1); else { HRGN TempRgn = CreateRectRgn(start, y, end, y + 1); CombineRgn(Result, Result, TempRgn, RGN_OR); DeleteObject(TempRgn); } } return Result; } В статье не сказано, что с данной функцией делать в проекте под C++Builder. Подскажите мне пожалуйста что мне нужно сделать в моем проекте на C++Builder, чтоб отрисовать столь желанную фигурную форму? Т.е. что мне делать с этой функцией BitmapToRegion(), и куда ее вписывать? Best Wishes, Artiom Ivanov, L CEO CubeReality Inc, http://www.cubereality.com ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2005, 08:40 |
|
||
|
Прорисовка TForm по заданному объекту HRGN
|
|||
|---|---|---|---|
|
#18+
Если можно получить хэндл окна формы и есть возможность звать винапи, то int SetWindowRgn(hWnd, hRgn, bRedraw); и всё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2005, 10:37 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=413&tid=2033629]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 367ms |

| 0 / 0 |
