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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.04.2009, 17:23   #1
DemonXT
Пользователь
 
Аватар для DemonXT
 
Регистрация: 31.03.2009
Сообщений: 40
Вопрос Помогите обновить TImage

У меня на форме лежит компанент лежит компанент TImage - iPating.
Дополнительно включил свойства iRating.Transparent:=True; так как нужна прозрачность. iRating.AutoSize:=True;
Мне нужно чтоб по клику менялась картинка из контейнера TImaseList - IListAll. Смена происходит, но вот картинки накладываются друг на друга. Пробовал уже всяко играться с обновлением канвы, но всё в пустую.
Вот на чём остановился:
Код:
procedure TfmPub.iRatingClick(Sender: TObject);
begin
  if iRating.HelpKeyword='x1' then
  begin
    iRating.HelpKeyword:='x2';
    iRating.Picture.Bitmap.FreeImage;
    IListAll.GetBitmap(14,iRating.Picture.Bitmap);
    iRating.Repaint;
  end
  else
  begin
    iRating.HelpKeyword:='x1';
    iRating.Picture.Bitmap.FreeImage;
    iRating.Refresh;
    IListAll.GetBitmap(13,iRating.Picture.Bitmap);
    iRating.Repaint;
  end;
end;
Подскажите, как сделать корректное обновление компанента?
DemonXT вне форума Ответить с цитированием
Старый 24.04.2009, 18:35   #2
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Попробуй
Код:
iRating.Refresh;
вместо
Код:
iRating.Repaint;
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 24.04.2009, 18:51   #3
DemonXT
Пользователь
 
Аватар для DemonXT
 
Регистрация: 31.03.2009
Сообщений: 40
Плохо

Цитата:
Сообщение от Kotofff Посмотреть сообщение
Попробуй
Код:
iRating.Refresh;
вместо
Код:
iRating.Repaint;
Попробовал. Стало ещё хуже. Картинки всё также накладываются + пропала прозрачность.
DemonXT вне форума Ответить с цитированием
Старый 24.04.2009, 19:08   #4
Лукманов Александр
работа не волк....
Форумчанин
 
Аватар для Лукманов Александр
 
Регистрация: 09.06.2008
Сообщений: 337
По умолчанию

попробуй
Код:
iRating.Picture.Bitmap.Empty;
Цель, для которой требуются неправые средства, не есть неправая цель.
Лукманов Александр вне форума Ответить с цитированием
Старый 24.04.2009, 19:56   #5
DemonXT
Пользователь
 
Аватар для DemonXT
 
Регистрация: 31.03.2009
Сообщений: 40
Плохо

Цитата:
Сообщение от Лукманов Александр Посмотреть сообщение
попробуй
Код:
iRating.Picture.Bitmap.Empty;
Не помогает!
DemonXT вне форума Ответить с цитированием
Старый 24.04.2009, 21:07   #6
zCHIP
Новичок
Джуниор
 
Регистрация: 24.04.2009
Сообщений: 2
По умолчанию

вроде так все работает. Delphi 7, изображения в ImageList'е в 24 битной палитре в формате bmp
Код:
procedure TForm1.Image1Click(Sender: TObject);
begin
//change
  if Image1.HelpKeyword = 'x1' then
    begin
     Image1.HelpKeyword:='x2';
     ImageList1.GetIcon(0,Image1.Picture.Icon);
    end
  else
    begin
     Image1.HelpKeyword:='x1';
     ImageList1.GetIcon(1,Image1.Picture.Icon);
    end;
end;
zCHIP вне форума Ответить с цитированием
Старый 24.04.2009, 22:48   #7
DemonXT
Пользователь
 
Аватар для DemonXT
 
Регистрация: 31.03.2009
Сообщений: 40
Хорошо

Цитата:
Сообщение от zCHIP Посмотреть сообщение
вроде так все работает. Delphi 7, изображения в ImageList'е в 24 битной палитре в формате bmp
Очень оригинально, а главное эффективно. Большое спасибо, что помогли мне разрешить проблему над которой я бился пару дней.
DemonXT вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обновление данных DBGrid DS75 БД в Delphi 24 02.11.2011 22:38
Как обновить?? Vremya-Dengy Общие вопросы Delphi 6 17.02.2009 22:44
Помогите пожалуста.Как обновить дрова видеокарты. serdos Помощь студентам 2 19.11.2008 20:34
Помогите разобраться с TImage Airou Мультимедиа в Delphi 4 30.04.2008 21:07
Обновить Memo VDLab Win Api 7 02.06.2007 01:43