![]() |
|
![]() ![]() ![]() |
|
lexluther |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 26.10.2004 Репутация: нет Всего: нет |
Всем привет,
Подскажите мне, пожалуйста, как решается следующая задача: У меня есть форма (наследник от 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 |
|||
|
||||
JAnty |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 366 Регистрация: 6.12.2004 Где: Москва Репутация: 1 Всего: 2 |
Какая у тубя ОС?
![]() Это сообщение отредактировал(а) JAnty - 11.3.2005, 12:16 -------------------- |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |