Alzon Опубликовано 9 февраля, 2016 Поделиться Опубликовано 9 февраля, 2016 Как в FMX.ImageList динамически добавить битмапы? Цитата Ссылка на комментарий
0 ophion Опубликовано 9 февраля, 2016 Поделиться Опубликовано 9 февраля, 2016 В демонстрационных проектах есть пример работы с ImageList, где так-же в Run time добавляются новые изображения.. Найти его можно тут С:\Users\Public\Documents\Embarcadero\Studio\17.0\Samples\Object Pascal\Multi-Device Samples\User Interface\ImageList (есть вероятность, что у вас необходимо немного изменить путь, в зависимости от расположения папки "Users" или "Пользователи", а так-же заменить 17.0 на вашу версию). Надеюсь это вам поможет. zairkz 1 Цитата Ссылка на комментарий
0 Error Опубликовано 9 февраля, 2016 Поделиться Опубликовано 9 февраля, 2016 http://blogs.embarcadero.com/roschinspb/2015/03/03/timagelistxe8ru/ zairkz 1 Цитата Ссылка на комментарий
0 RoschinSpb Опубликовано 9 февраля, 2016 Поделиться Опубликовано 9 февраля, 2016 Соседняя тема имеет не совсем подходящее название "Загрузка иконок в TimageList из базы данных" Похоже, что там обсуждается именно ваш вопрос: http://fire-monkey.ru/topic/1596-zagruzka-ikonok-v-timagelist-iz-bazy-dannykh/?p=8599 Цитата Ссылка на комментарий
0 ENERGY Опубликовано 29 марта, 2017 Поделиться Опубликовано 29 марта, 2017 (изменено) type TImageListHelper = class helper for TImageList function Add(aBitmap: TBitmap): integer; end; function TImageListHelper.Add(aBitmap: TBitmap): integer; const SCALE = 1; var vSource: TCustomSourceItem; vBitmapItem: TCustomBitmapItem; vDest: TCustomDestinationItem; vLayer: TLayer; begin Result := -1; if (aBitmap.Width = 0) or (aBitmap.Height = 0) then exit; // add source bitmap vSource := Source.Add; vSource.MultiResBitmap.TransparentColor := TColorRec.Fuchsia; vSource.MultiResBitmap.SizeKind := TSizeKind.Source; vSource.MultiResBitmap.Width := Round(aBitmap.Width / SCALE); vSource.MultiResBitmap.Height := Round(aBitmap.Height / SCALE); vBitmapItem := vSource.MultiResBitmap.ItemByScale(SCALE, True, True); if vBitmapItem = nil then begin vBitmapItem := vSource.MultiResBitmap.Add; vBitmapItem.Scale := Scale; end; vBitmapItem.Bitmap.Assign(aBitmap); vDest := Destination.Add; vLayer := vDest.Layers.Add; vLayer.SourceRect.Rect := TRectF.Create(TPoint.Zero, vSource.MultiResBitmap.Width, vSource.MultiResBitmap.Height); vLayer.Name := vSource.Name; Result := vDest.Index; end; Хелпер позволяет добавлять свои методы, не наследуясь от класса. После этого можно обращаться к любому ImageList ImageList1.Add(MyBitmap); Изменено 11 апреля, 2017 пользователем ENRGY Евгений Корепов 1 Цитата Ссылка на комментарий
Вопрос
Alzon
Как в FMX.ImageList динамически добавить битмапы?
Ссылка на комментарий
4 ответа на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.