Необходимо создать компонент реализующий массив изображений. Грубо говоря 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 и тп =( Помогите пожалуйста
Примечание:
R34, Ох ёлки. Я вчера был не хило приторможен, судя по всему) Пытался пристать не к Picture, а FPicture - внутренней переменной класса TImage, а она естественно в private) и главное ведь получилось вчера сделать через наследника график контрол с TImage-м в качестве внутреннего поля)
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.