Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 28.12.2012, 19:26
nilagor nilagor вне форума
Прохожий
 
Регистрация: 28.12.2012
Сообщения: 2
Репутация: 10
По умолчанию Создание компонента на основе класса TImage, как использовать Picture ?

Необходимо создать компонент реализующий массив изображений. Грубо говоря ImageList, но для полноценных изображений, а не иконок. Я решил сделать следующим образом - компонент потомок TImage, с доп полями:

Код:
v_imageIndex:integer;
v_imageList:TStringList;

где первое - номер выводимой картинки, второе - список адресов остальных картинок.
Логика подразумевалась следующая - при изменении индекса запускается Picture.LoadFromFile(v_imageList[<новый индекс>]);
Однако оказалось, что Picture у TImage лежит в области Private и обратиться к нем невозможно. Попробовал добавить свой:

Код:
v_picture: TPicture;
published
property Picture: TPicture read v_picture write SetPicture;

Реализовал логику:
Код:
procedure xImageList.IndexPaint(ind: Integer);
begin
 v_imageIndex:=ind;
 v_picture.LoadFromFile(v_imageList[ind]);
 width:=v_picture.Width;
 height:=v_picture.Height;
end;

Но при работе с компонентом не происходит ровным счётом ничего =( что-то мне подсказывает, что всё из-за того, что не родной Picture и не запускаются родные Paint и тп. Подскажите как это обойти и что вообще делать? Не писать же свои методы Paint и тп =( Помогите пожалуйста

Если надо, могу выложить полный текст компонента, он небольшой
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 07:10.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025