Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Прорисовка TForm по заданному объекту HRGN, Прорисовка TForm по заданному объекту HR 
:(
    Опции темы
lexluther
Дата 11.3.2005, 08:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 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
PM MAIL   Вверх
JAnty
Дата 11.3.2005, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 366
Регистрация: 6.12.2004
Где: Москва

Репутация: 1
Всего: 2



Какая у тубя ОС? smile

Это сообщение отредактировал(а) JAnty - 11.3.2005, 12:16


--------------------
Русский справочник по WinAPI

Возможно всё, что возможно вообразить! Это и значит быть гением как я!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0900 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.