Страница 1 из 3
Создание "иконок" для отображения графических файлов
Добавлено: 18 Ноябрь 2012, 13:08
Губин Игорь
Порождено темой "Стоит ли использовать кларион".
Сам я этим не сталкивался, да и непосредственно сейчас не требуется, т.ч. просто из любопытства и на будущее:
Не занимался ли кто-нибудь из уважаемого сообщества следующей задачей:
Есть некие графические файлы стандартных форматов (большие). Требуется из них автоматически, используя только средства кларион и windows api, создать "иконки" стандартного размера для показа в списке.
Re: Создание "иконок" для отображения графических файлов
Добавлено: 19 Ноябрь 2012, 14:08
Yufil
Обрати взор на Clarion FreeImage
Re: Создание "иконок" для отображения графических файлов
Добавлено: 19 Ноябрь 2012, 14:19
Губин Игорь
Спасибо
Re: Создание "иконок" для отображения графических файлов
Добавлено: 22 Ноябрь 2012, 16:57
kreator
Игорь! Полгода назад случайно обнаружил, что Image влёгкую подсовывается в Browse вместо иконки без FreeImage. Если надо, напишу, что надо сделать. Есть пока начальный этап (без развития), просто оказалось, что этого достаточно, что получилось.
Re: Создание "иконок" для отображения графических файлов
Добавлено: 22 Ноябрь 2012, 17:08
Губин Игорь
Буду благодарен.
Re: Создание "иконок" для отображения графических файлов
Добавлено: 23 Ноябрь 2012, 10:38
Admin
kreator писал(а):Игорь! Полгода назад случайно обнаружил, что Image влёгкую подсовывается в Browse вместо иконки без FreeImage. Если надо, напишу, что надо сделать. Есть пока начальный этап (без развития), просто оказалось, что этого достаточно, что получилось.
Будет всем интересно. Так что просьба отвечать в тред.

Спасибо.
Re: Создание "иконок" для отображения графических файлов
Добавлено: 23 Ноябрь 2012, 10:59
Yufil
Ну так есть Grid Template в ABC и пример с цветочками в Example'ах.
Но просили-то именно иконки...
Re: Создание "иконок" для отображения графических файлов
Добавлено: 23 Ноябрь 2012, 13:38
kreator
Делаем Browse.
LOC:Image - переменная типа BYTE, она всегда равна 0. На этот столбец ставим transparent icon. Зеленый фон нужен только лично мне, потому что я подсовываю жёлтые transparent gif'ы.
В Actions броуза на закладке Icons ставим какую-нибудь иконку. При этом шаблоны генерят вот такой текст:
?List{PROP:IconList,1} = '~pics\stop.ico'
Далее. В точку вставки ResetQueue до Parent Call пишем:
LOC:ImageNumber = 0
Далее. В точку вставки SetQueueRecord до Parent Call пишем:
LOC:ImageNumber += 1
?List{PROP:IconList,LOC:ImageNumber} = clip(GLO:PathResource)&SPRAV.S_NAME
где GLO:PathResource - папка хранения картинок, SPRAV.S_NAME - название файла в базе.
Ну и в точку вставки SetQueueRecord после Parent Call пишем:
SELF.Q.LOC:Image_Icon = LOC:ImageNumber
Всё работает. Единственное, надо задать List line height соответствующий и ширину столбца тоже.
Создание "иконок" для отображения графических файлов
Добавлено: 15 Ноябрь 2015, 19:05
gopstop2007
kreator писал(а):Ну и в точку вставки SetQueueRecord после Parent Call пишем:
SELF.Q.LOC:Image_Icon = LOC:ImageNumber
Всё работает. Единственное, надо задать List line height соответствующий и ширину столбца тоже.
Попробовал сделать, работает, поставлял BMP для пробы, единственное надо еще найти строку в SetQueueRecord после Parent Call типа
SELF.Q.LOC:Image_Icon = 1 , которая создается app автоматически при создании иконки и
Код: Выделить всё
IF LOC:ImageNumber = 0 ! нет изображения ставим иконку по умолчанию
SELF.Q.l_Images_Icon = 1 ! Set icon from icon list
END
А в С10 аналогичного готового нет?

Создание "иконок" для отображения графических файлов
Добавлено: 15 Ноябрь 2015, 21:03
kreator
gopstop2007 писал(а):А в С10 аналогичного готового нет?
Не понял, при чём здесь C10? Всё аналогично. Кстати, если вопрос стоит об отображении иконок графических файлов в списке, то есть решение через реестр.
Создание "иконок" для отображения графических файлов
Добавлено: 15 Ноябрь 2015, 21:55
gopstop2007
kreator писал(а):Не понял, при чём здесь C10?
Я имел ввиду кроме BrowseGrid, что то еще появилось?
kreator писал(а):Кстати, если вопрос стоит об отображении иконок графических файлов в списке, то есть решение через реестр.
Реестр, а он каким боком?

Можно поподробнее?
Создание "иконок" для отображения графических файлов
Добавлено: 16 Ноябрь 2015, 6:18
kreator
gopstop2007 писал(а):Реестр, а он каким боком? Можно поподробнее?
Я чего-то тормознул. Прочитал первый пост не внимательно, думал речь идёт об иконках соответствия графическим файлам.
gopstop2007 писал(а):Я имел ввиду кроме BrowseGrid, что то еще появилось?
List сейчас у SV без развития, наверно, считают, что все возможности уже реализованы

.
Создание "иконок" для отображения графических файлов
Добавлено: 16 Ноябрь 2015, 8:07
Admin
kreator писал(а): наверно, считают, что все возможности уже реализованы
Скорее просто
нихрена не умеют сделать его более навороченным. Или им не нужно.
Лист один из главных контролов, но у нас он а ля Window 3.1
Вот вытащили бы исходники листа наружу. Было бы прелестно. Хотя бы ownerdraw метод какой нибудь, для строки.
Создание "иконок" для отображения графических файлов
Добавлено: 16 Ноябрь 2015, 8:10
Admin
Или Clarion внутри такая солянка, что встраивать в него что то новое нереально.
Создание "иконок" для отображения графических файлов
Добавлено: 16 Ноябрь 2015, 14:00
kreator
Admin писал(а):Скорее просто нихрена не умеют сделать его более навороченным. Или им не нужно.
Банально нет запроса на разработку. А так они всегда выполняют, естественно при критической массе требований

. Помню как некоторое время назад здесь удивлялся "а кто это потребовал подкраски хэдеров листбокса"? Ведь сделали чертяки!!!
