Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.10.2011, 00:08   #1
lissa55
 
Регистрация: 28.09.2011
Сообщений: 6
По умолчанию Нужен компонент для С++Builder6

Подскажите, пожалуйста, как в проге, созданной в С++Builder6 вместо фона загрузить какую-нибудь картинку?
lissa55 вне форума Ответить с цитированием
Старый 04.10.2011, 08:40   #2
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Фона чего? Формы компонента или кнопки?
Уточнить бы.
Если надо на форму поставить фон в виде картинки - TImage Вам в руки.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 05.10.2011, 13:42   #3
lissa55
 
Регистрация: 28.09.2011
Сообщений: 6
По умолчанию

Фон формы компонента
lissa55 вне форума Ответить с цитированием
Старый 05.10.2011, 15:30   #4
ozes
 
Регистрация: 04.10.2011
Сообщений: 5
По умолчанию

Цитата:
Сообщение от lissa55 Посмотреть сообщение
Подскажите, пожалуйста, как в проге, созданной в С++Builder6 вместо фона загрузить какую-нибудь картинку?
Можно, например, воспользоваться свойством канвы формы - Form1->Canvas.
Разместите на форме Form1 компонент Image1 .
У компонента Image1 в Инспекторе Объектов есть свойство Picture(TBitmap)
Нажимаете на (TBitmap) и в появившемся диалоге грузите туда любую картинку (в формате BMP).
Эта картинка появляется и в Image1.

Теперь Вам остается перенести эту картинку на канву формы.
Для переноса изображения с Image1 на канву формы Form1->Canvas можно поставить на форму кнопку SpeedButton1 и в ee обработчике Click() написать оператор копирования канвы CopyRect( _ , _ , _ )

PHP код:
//------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton1Click(TObject *Sender)
{
// воспользуемся методом CopyReсt(_,_,_) копирования изображения из Image1 на канву формы
Form1->Canvas->CopyRect(Rect(0,0,Form1->Width,Form1->Height),Image1->Canvas,Rect(0,0,Image1->Width,Image1->Height));
// а можно выполнить попиксельное заполнение канвы формы
int iX 0;
for(
iX == 0iX Image1->WidthiX++)
   {
   
int iY 0;
   for(
iY == 0iY Image1->HeightiY++)
      {
      
Form1->Canvas->Pixels[iX][iY] = Image1->Canvas->Pixels[iX][iY];
      }
   }
}
//----------------------------------------------------------------------- 
Но на форме изображение стирается при сворачивании формы (или перекрывании ее другими формами. Поэтому изображение на форме приходится все время обновлять (то есть, каждый раз нажимать на кнопку, или писать операторы обновления изображения канвы, что не очень удобно).
ozes вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужен компонент для почтового клиента Бутаков_Сергей Компоненты Delphi 1 22.12.2010 16:33
Нужен компонент для работы с большой БД George2010 Компоненты Delphi 6 06.10.2010 10:10
Нужен компонент для закачки файла dimfil Компоненты Delphi 1 21.01.2009 13:00
Нужен компонент для чата Wicing Компоненты Delphi 3 24.03.2008 23:33
Нужен компонент для чата K@$K@ Компоненты Delphi 2 09.01.2008 15:23