Создание "иконок" для отображения графических файлов
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- Губин Игорь
- Шубуршун
- Сообщения: 2584
- Зарегистрирован: 16 Сентябрь 2005, 16:35
- Откуда: Москва
- Благодарил (а): 3 раза
- Поблагодарили: 26 раз
Создание "иконок" для отображения графических файлов
Порождено темой "Стоит ли использовать кларион".
Сам я этим не сталкивался, да и непосредственно сейчас не требуется, т.ч. просто из любопытства и на будущее:
Не занимался ли кто-нибудь из уважаемого сообщества следующей задачей:
Есть некие графические файлы стандартных форматов (большие). Требуется из них автоматически, используя только средства кларион и windows api, создать "иконки" стандартного размера для показа в списке.
Сам я этим не сталкивался, да и непосредственно сейчас не требуется, т.ч. просто из любопытства и на будущее:
Не занимался ли кто-нибудь из уважаемого сообщества следующей задачей:
Есть некие графические файлы стандартных форматов (большие). Требуется из них автоматически, используя только средства кларион и windows api, создать "иконки" стандартного размера для показа в списке.
Это я только кажусь дураком! На самом деле я полный идиот!
- Губин Игорь
- Шубуршун
- Сообщения: 2584
- Зарегистрирован: 16 Сентябрь 2005, 16:35
- Откуда: Москва
- Благодарил (а): 3 раза
- Поблагодарили: 26 раз
Re: Создание "иконок" для отображения графических файлов
Спасибо
Это я только кажусь дураком! На самом деле я полный идиот!
-
- ✯ Ветеран ✯
- Сообщения: 5160
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Re: Создание "иконок" для отображения графических файлов
Игорь! Полгода назад случайно обнаружил, что 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: Создание "иконок" для отображения графических файлов
Будет всем интересно. Так что просьба отвечать в тред.kreator писал(а):Игорь! Полгода назад случайно обнаружил, что Image влёгкую подсовывается в Browse вместо иконки без FreeImage. Если надо, напишу, что надо сделать. Есть пока начальный этап (без развития), просто оказалось, что этого достаточно, что получилось.

Спасибо.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Re: Создание "иконок" для отображения графических файлов
Ну так есть Grid Template в ABC и пример с цветочками в Example'ах.
Но просили-то именно иконки...
Но просили-то именно иконки...
-
- ✯ Ветеран ✯
- Сообщения: 5160
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Re: Создание "иконок" для отображения графических файлов
Делаем Browse.
В Actions броуза на закладке Icons ставим какую-нибудь иконку. При этом шаблоны генерят вот такой текст:
Ну и в точку вставки SetQueueRecord после Parent Call пишем:
LOC:Image - переменная типа BYTE, она всегда равна 0. На этот столбец ставим transparent icon. Зеленый фон нужен только лично мне, потому что я подсовываю жёлтые transparent gif'ы.В Actions броуза на закладке Icons ставим какую-нибудь иконку. При этом шаблоны генерят вот такой текст:
Далее. В точку вставки ResetQueue до Parent Call пишем:?List{PROP:IconList,1} = '~pics\stop.ico'
Далее. В точку вставки SetQueueRecord до Parent Call пишем:LOC:ImageNumber = 0
где GLO:PathResource - папка хранения картинок, SPRAV.S_NAME - название файла в базе.LOC:ImageNumber += 1
?List{PROP:IconList,LOC:ImageNumber} = clip(GLO:PathResource)&SPRAV.S_NAME
Ну и в точку вставки SetQueueRecord после Parent Call пишем:
Всё работает. Единственное, надо задать List line height соответствующий и ширину столбца тоже.SELF.Q.LOC:Image_Icon = LOC:ImageNumber
We are hard at work… for you. 

-
- Полимат
- Сообщения: 1810
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 24 раза
- Поблагодарили: 10 раз
Создание "иконок" для отображения графических файлов
Попробовал сделать, работает, поставлял BMP для пробы, единственное надо еще найти строку в SetQueueRecord после Parent Call типаkreator писал(а):Ну и в точку вставки SetQueueRecord после Parent Call пишем:Всё работает. Единственное, надо задать List line height соответствующий и ширину столбца тоже.SELF.Q.LOC:Image_Icon = LOC:ImageNumber
SELF.Q.LOC:Image_Icon = 1 , которая создается app автоматически при создании иконки и
Код: Выделить всё
IF LOC:ImageNumber = 0 ! нет изображения ставим иконку по умолчанию
SELF.Q.l_Images_Icon = 1 ! Set icon from icon list
END
А в С10 аналогичного готового нет?

“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
-
- ✯ Ветеран ✯
- Сообщения: 5160
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Создание "иконок" для отображения графических файлов
Не понял, при чём здесь C10? Всё аналогично. Кстати, если вопрос стоит об отображении иконок графических файлов в списке, то есть решение через реестр.gopstop2007 писал(а):А в С10 аналогичного готового нет?
We are hard at work… for you. 

-
- Полимат
- Сообщения: 1810
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 24 раза
- Поблагодарили: 10 раз
Создание "иконок" для отображения графических файлов
Я имел ввиду кроме BrowseGrid, что то еще появилось?kreator писал(а):Не понял, при чём здесь C10?

Реестр, а он каким боком?kreator писал(а):Кстати, если вопрос стоит об отображении иконок графических файлов в списке, то есть решение через реестр.

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

We are hard at work… for you. 

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


We are hard at work… for you. 
