SASGIS - SAS.Планета
View Issue Details
0003589SAS.ПланетаРефакторингpublic23-11-2019 13:2223-11-2022 11:44
zed 
zed 
normalminorhave not tried
closedno change required 
190707 
 
0003589: Мигрировать с TTBXImageList на стандартный TImageList
У нас используется TBX 2.2 alpha (с небольшими фиксами) у которого был компонент TTBXImageList - замена стандартного TImageList с возможностью импортировать иконки в png формате. В актуальных версиях Delphi стандартный TImageList уже умеет сам импортировать png иконки, кроме того, если установить помощник CnPack, то даже в Delphi 2007 добавляется возможность импортировать png иконки. Соответственно, можно сказать, что необходимость в использовании данного компонента пропала.

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

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

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

И если с формами особых проблем не будет (рутинная работа - экспортировать иконки на диск и импортировать обратно в нужном порядке), то вот с юнитом надо смотреть.
No tags attached.
related to 0003581new  Сборка 64-х битной версии SAS 
related to 0003840new  Мигрировать с Toolbar2000/TBX на SpTBXLib 
png Screenshot_1.png (12,022) 29-11-2019 06:38
https://bugtracker.sasgis.org/file_download.php?file_id=2397&type=bug
png

? u_MapTypeIconsList.pas (4,497) 29-11-2019 06:39
https://bugtracker.sasgis.org/file_download.php?file_id=2398&type=bug
Issue History
23-11-2019 13:22zedNew Issue
23-11-2019 13:23zedRelationship addedrelated to 0003581
25-11-2019 06:57vdemidovNote Added: 0019514
29-11-2019 06:38zedNote Added: 0019520
29-11-2019 06:38zedFile Added: Screenshot_1.png
29-11-2019 06:39zedFile Added: u_MapTypeIconsList.pas
29-11-2019 06:40zedStatusnew => closed
29-11-2019 06:40zedAssigned To => zed
29-11-2019 06:40zedResolutionopen => no change required
23-11-2022 11:44zedRelationship addedrelated to 0003840

Notes
(0019514)
vdemidov   
25-11-2019 06:57   
Если я правильно помню, то TTBXImageList использовался не столько ради загрузки png вообще, сколько ради поддержки 32-битных битмапок с альфаканалом. Вроде как TImageList поддерживал прозрачность только с отдельным прозрачным цветом. Может с тех пор уже все поменялось. В юните u_MapTypeIconsList, я думаю, можно просто заменить на TImageList и все будет работать.
(0019520)
zed   
29-11-2019 06:38   
С юнитом оказалось проще, в новых версиях для TImageList можно задать количество цветов и тогда bmp в него загружаются довольно просто (вариант реализации в аттаче).

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

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