View Issue Details

IDProjectCategoryView StatusLast Update
0003589SAS.ПланетаРефакторинг / Refactoringpublic23-11-2022 11:44
Reporterzed Assigned Tozed  
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionno change required 
Product Version190707 
Summary0003589: Мигрировать с TTBXImageList на стандартный TImageList
DescriptionУ нас используется TBX 2.2 alpha (с небольшими фиксами) у которого был компонент TTBXImageList - замена стандартного TImageList с возможностью импортировать иконки в png формате. В актуальных версиях Delphi стандартный TImageList уже умеет сам импортировать png иконки, кроме того, если установить помощник CnPack, то даже в Delphi 2007 добавляется возможность импортировать png иконки. Соответственно, можно сказать, что необходимость в использовании данного компонента пропала.

Вопрос с TTBXImageList возник из-за того, что в более-менее поддерживаемой на текущий момент версии TBX (https://github.com/plashenkov/TBX) этот компонент отсутствует (похоже, что выпилили в пользу стандартного листа).

Т.е. после миграции на стандартный TImageList можно будет обновить TBX.
Additional InformationУ нас TTBXImageList используется на 3-х формах:
frm_Main.pas
fr_MarkDescription.pas
frm_MarksExplorer.pas

и в одном юните: u_MapTypeIconsList.pas

И если с формами особых проблем не будет (рутинная работа - экспортировать иконки на диск и импортировать обратно в нужном порядке), то вот с юнитом надо смотреть.
TagsNo tags attached.
Attached Files
Screenshot_1.png (12,022 bytes)   
Screenshot_1.png (12,022 bytes)   
u_MapTypeIconsList.pas (4,497 bytes)

Relationships

related to 0003581 resolvedzed Сборка 64-х битной версии SAS 
related to 0003840 new Мигрировать с Toolbar2000/TBX на SpTBXLib 

Activities

vdemidov

25-11-2019 06:57

manager   ~0019514

Если я правильно помню, то TTBXImageList использовался не столько ради загрузки png вообще, сколько ради поддержки 32-битных битмапок с альфаканалом. Вроде как TImageList поддерживал прозрачность только с отдельным прозрачным цветом. Может с тех пор уже все поменялось. В юните u_MapTypeIconsList, я думаю, можно просто заменить на TImageList и все будет работать.

zed

29-11-2019 06:38

manager   ~0019520

С юнитом оказалось проще, в новых версиях для TImageList можно задать количество цветов и тогда bmp в него загружаются довольно просто (вариант реализации в аттаче).

Но вот в дизайне стандартный лист со своей задачей не справляется. Конвертирование png -> bmp происходит просто отвратительно (скриншот в аттаче). С другой стороны, если воспользоваться визардом от CnPack и включить галку "использовать стиль WinXP", картинка получается нормальной.

Поскольку TTBXImageList оказалось довольно легко подключить к TBX с гитхаба и он теперь уже там, то будем жить с ним и дальше.

Issue History

Date Modified Username Field Change
23-11-2019 13:22 zed New Issue
23-11-2019 13:23 zed Relationship added related to 0003581
25-11-2019 06:57 vdemidov Note Added: 0019514
29-11-2019 06:38 zed Note Added: 0019520
29-11-2019 06:38 zed File Added: Screenshot_1.png
29-11-2019 06:39 zed File Added: u_MapTypeIconsList.pas
29-11-2019 06:40 zed Status new => closed
29-11-2019 06:40 zed Assigned To => zed
29-11-2019 06:40 zed Resolution open => no change required
23-11-2022 11:44 zed Relationship added related to 0003840
08-08-2025 13:25 zed Category Рефакторинг => Рефакторинг / Refactoring