Создание "иконок" для отображения графических файлов

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
Губин Игорь
Шубуршун
Сообщения: 2584
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Благодарил (а): 3 раза
Поблагодарили: 26 раз

Создание "иконок" для отображения графических файлов

Сообщение Губин Игорь »

Порождено темой "Стоит ли использовать кларион".

Сам я этим не сталкивался, да и непосредственно сейчас не требуется, т.ч. просто из любопытства и на будущее:

Не занимался ли кто-нибудь из уважаемого сообщества следующей задачей:

Есть некие графические файлы стандартных форматов (большие). Требуется из них автоматически, используя только средства кларион и windows api, создать "иконки" стандартного размера для показа в списке.
Это я только кажусь дураком! На самом деле я полный идиот!
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Re: Создание "иконок" для отображения графических файлов

Сообщение Yufil »

Обрати взор на Clarion FreeImage
Аватара пользователя
Губин Игорь
Шубуршун
Сообщения: 2584
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Благодарил (а): 3 раза
Поблагодарили: 26 раз

Re: Создание "иконок" для отображения графических файлов

Сообщение Губин Игорь »

Спасибо
Это я только кажусь дураком! На самом деле я полный идиот!
kreator
✯ Ветеран ✯
Сообщения: 5160
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

Re: Создание "иконок" для отображения графических файлов

Сообщение kreator »

Игорь! Полгода назад случайно обнаружил, что Image влёгкую подсовывается в Browse вместо иконки без FreeImage. Если надо, напишу, что надо сделать. Есть пока начальный этап (без развития), просто оказалось, что этого достаточно, что получилось.
We are hard at work… for you. :)
Аватара пользователя
Губин Игорь
Шубуршун
Сообщения: 2584
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Благодарил (а): 3 раза
Поблагодарили: 26 раз

Re: Создание "иконок" для отображения графических файлов

Сообщение Губин Игорь »

Буду благодарен.
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
Admin
Администратор
Сообщения: 4010
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 53 раза
Поблагодарили: 33 раза
Контактная информация:

Re: Создание "иконок" для отображения графических файлов

Сообщение Admin »

kreator писал(а):Игорь! Полгода назад случайно обнаружил, что Image влёгкую подсовывается в Browse вместо иконки без FreeImage. Если надо, напишу, что надо сделать. Есть пока начальный этап (без развития), просто оказалось, что этого достаточно, что получилось.
Будет всем интересно. Так что просьба отвечать в тред. :)
Спасибо.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Re: Создание "иконок" для отображения графических файлов

Сообщение Yufil »

Ну так есть Grid Template в ABC и пример с цветочками в Example'ах.
Но просили-то именно иконки...
kreator
✯ Ветеран ✯
Сообщения: 5160
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

Re: Создание "иконок" для отображения графических файлов

Сообщение kreator »

Делаем Browse.
1.jpg
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 соответствующий и ширину столбца тоже.
We are hard at work… for you. :)
gopstop2007
Полимат
Сообщения: 1810
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 24 раза
Поблагодарили: 10 раз

Создание "иконок" для отображения графических файлов

Сообщение 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 аналогичного готового нет? :cat:
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
kreator
✯ Ветеран ✯
Сообщения: 5160
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

Создание "иконок" для отображения графических файлов

Сообщение kreator »

gopstop2007 писал(а):А в С10 аналогичного готового нет?
Не понял, при чём здесь C10? Всё аналогично. Кстати, если вопрос стоит об отображении иконок графических файлов в списке, то есть решение через реестр.
We are hard at work… for you. :)
gopstop2007
Полимат
Сообщения: 1810
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 24 раза
Поблагодарили: 10 раз

Создание "иконок" для отображения графических файлов

Сообщение gopstop2007 »

kreator писал(а):Не понял, при чём здесь C10?
Я имел ввиду кроме BrowseGrid, что то еще появилось? :)
kreator писал(а):Кстати, если вопрос стоит об отображении иконок графических файлов в списке, то есть решение через реестр.
Реестр, а он каким боком? :) Можно поподробнее?
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
kreator
✯ Ветеран ✯
Сообщения: 5160
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

Создание "иконок" для отображения графических файлов

Сообщение kreator »

gopstop2007 писал(а):Реестр, а он каким боком? Можно поподробнее?
Я чего-то тормознул. Прочитал первый пост не внимательно, думал речь идёт об иконках соответствия графическим файлам.
gopstop2007 писал(а):Я имел ввиду кроме BrowseGrid, что то еще появилось?
List сейчас у SV без развития, наверно, считают, что все возможности уже реализованы :idied: .
We are hard at work… for you. :)
Аватара пользователя
Admin
Администратор
Сообщения: 4010
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 53 раза
Поблагодарили: 33 раза
Контактная информация:

Создание "иконок" для отображения графических файлов

Сообщение Admin »

kreator писал(а): наверно, считают, что все возможности уже реализованы
Скорее просто нихрена не умеют сделать его более навороченным. Или им не нужно.
Лист один из главных контролов, но у нас он а ля Window 3.1
Вот вытащили бы исходники листа наружу. Было бы прелестно. Хотя бы ownerdraw метод какой нибудь, для строки.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
Admin
Администратор
Сообщения: 4010
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 53 раза
Поблагодарили: 33 раза
Контактная информация:

Создание "иконок" для отображения графических файлов

Сообщение Admin »

Или Clarion внутри такая солянка, что встраивать в него что то новое нереально.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
kreator
✯ Ветеран ✯
Сообщения: 5160
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

Создание "иконок" для отображения графических файлов

Сообщение kreator »

Admin писал(а):Скорее просто нихрена не умеют сделать его более навороченным. Или им не нужно.
Банально нет запроса на разработку. А так они всегда выполняют, естественно при критической массе требований :mrgreen: . Помню как некоторое время назад здесь удивлялся "а кто это потребовал подкраски хэдеров листбокса"? Ведь сделали чертяки!!! :mrgreen:
We are hard at work… for you. :)
Ответить