Вверх ↑
Этот топик читают: Гость
Ответов: 61
Рейтинг: 2
#1: 2006-06-24 22:18:34 ЛС | профиль | цитата
Компонент для импорта иконок из исполняемых файлов типа ( EXE , DLL , OCX и т.д. ) и библиотек ICL.
карма: 1

2
файлы: 1ExtractIcon.rar [3KB] [914]
Голосовали:flud, Karl
vip
#1.1контекстная реклама от партнеров
Ответов: 387
Рейтинг: 34
#2: 2009-02-10 17:18:26 ЛС | профиль | цитата
может его включить в комплект пакета? или я что-то пропустил?
карма: 0

0
Разработчик
Ответов: 26066
Рейтинг: 2120
#3: 2009-02-10 17:21:40 ЛС | профиль | цитата
Karl, точно пропустил -- этот метод встроен в WorkIconsManager

А также, связанную с файлом иконку можно вытащить при помощи FileAttributes
карма: 22

0
Ответов: 872
Рейтинг: 101
#4: 2009-02-10 17:22:48 ЛС | профиль | цитата
Дежавю, помоему у нас это уже есть
карма: 1

0
Ответов: 387
Рейтинг: 34
#5: 2009-02-10 20:04:49 ЛС | профиль | цитата
что не так ?
code_11757.txt
карма: 0

0
файлы: 1code_11757.txt [381B] [471]
Разработчик
Ответов: 26066
Рейтинг: 2120
#6: 2009-02-10 21:50:18 ЛС | профиль | цитата
Karl писал(а):
что не так ?

У нас нет контролов отображения изображений, которые бы читали иконки напрямую. И компонент Icon не может грузить себе в память чужую иконку, а потому, использовать для таких целей нужно менеджеры иконок, которые обладают довольно большим (можно сказать, даже избыточным) функционалом для работы с иконками в среде HiAsma.


Add(MainForm,2953706,147,196)
{
}
Add(FileAttributes,4787264,252,238)
{
Point(doGetFileIcon)
Point(onGetFileIcon)
link(onGetFileIcon,10719249:doEvent1,[])
}
Add(Button,8446051,147,259)
{
Left=105
Top=210
link(onClick,14967725:doExecute,[])
}
Add(Image,1780247,483,252)
{
Left=50
Top=25
Width=95
Height=90
}
Add(ODialog,14967725,196,259)
{
link(onExecute,4787264:doGetFileIcon,[])
}
Add(IconsManager,8187552,420,196)
{
Name="icn_arr"
Icons=['Icon'=[]]
}
Add(WorkIconsManager,6016338,420,245)
{
IconToBmp=0
IconsManager="icn_arr"
Point(doMT_InsertIcon)
Point(doGetIcon)
Point(onGetIcon)
link(onGetIcon,1780247:doLoad,[])
}
Add(Hub,10719249,308,245)
{
OutCount=3
link(onEvent1,6016338:doClearIcons,[])
link(onEvent2,16545031:doAdd,[(345,258)(345,314)])
link(onEvent3,1342496:doData,[])
}
Add(DoData,1342496,364,259)
{
Data=Integer(0)
link(onEventData,6016338:doGetIcon,[])
}
Add(ArrayRW,16545031,420,294)
{
link(Array,6016338:IconArray,[])
}


Единственное уточнение по схеме, это то, что главный менеджер иконок изначально должен быть непустой, и содержать, хотя бы, пустую иконку
карма: 22

1
Голосовали:Karl
Ответов: 387
Рейтинг: 34
#7: 2009-02-10 23:00:05 ЛС | профиль | цитата
спасибо nesco,
по описанию компонентов FileAttributes точка OnGetFileIcon - Выдает в поток иконку,
Image точка doLoad - копирует картинку из потока,
не понятно что иконку нельзя передать компоненту Imagе который поддерживает формат Ico без танцев с бубном
может имеет смысл дополнить?
Karl писал(а):
может его включить в комплект пакета? или я что-то пропустил?

все таки реализация в компоненте ZIM, проще...
карма: 0

0
Разработчик
Ответов: 26066
Рейтинг: 2120
#8: 2009-02-10 23:15:46 ЛС | профиль | цитата
Karl писал(а):
Imagе который поддерживает формат Ico

Icon не поддерживает, только Bitmap.

Karl, я бы давно доработал компонент Icon под загрузку внешней иконки (был тут мой комонент IconEx), но помнится получил большую дыню от руководства, но это было тогда, я так и не понял за что. А сейчас я банально про эту доработку забыл. Иконки нужны для работы в составе каких-либо компонентов, которые поддерживают ихние массивы, по-отдельности их редко кто использует, поэтому, я и не стал с ними заморачиваться раньше, важнее было сделать управляемый массив.
карма: 22

0
Ответов: 387
Рейтинг: 34
#9: 2009-02-10 23:24:20 ЛС | профиль | цитата
nesco писал(а):
Icon не поддерживает, только Bitmap

компонент Image открываю Picture - Загрузить в списке допустимых форматов вижу ico и даже gif....

nesco писал(а):
большую дыню от руководства

я на твоей стороне
карма: 0

0
Разработчик
Ответов: 26066
Рейтинг: 2120
#10: 2009-02-10 23:32:49 ЛС | профиль | цитата
Karl писал(а):
Загрузить в списке допустимых форматов вижу ico и даже gif....

Это после компиляции будет находится в ресурсах твоей проги и делает это среда (видел, наверное, в sha файле такую вешь как Icons=['Icon'=[ZIP7E030000...), а не код компонента, но на загрузку картинки в RealTime это никак не отразится, код компонента не поддерживает ничего, кроме Bitmapа.
карма: 22

0
Администрация
Ответов: 15294
Рейтинг: 1518
#11: 2009-02-11 00:03:19 ЛС | профиль | цитата
Karl писал(а):
компонент Image открываю Picture - Загрузить в списке допустимых форматов вижу ico и даже gif....

все это конрертируется в Bitmap и именно в таком виде попадает в компонент

nesco писал(а):
но на загрузку картинки в RealTime это никак не отразится

карма: 26
0
Ответов: 387
Рейтинг: 34
#12: 2009-02-11 00:58:51 ЛС | профиль | цитата
Dilma, полагаю говорить о том чтоб сделать в реал тайме неможет быть и речи?...
карма: 0

0
Разработчик
Ответов: 26066
Рейтинг: 2120
#13: 2009-02-11 01:40:40 ЛС | профиль | цитата
Karl писал(а):
полагаю говорить о том чтоб сделать в реал тайме неможет быть и речи?...

Зачем нагружать компонент ненужными функциями Для этого существуют промежуточные компоненты, тому, кому уже точно невмоготу
карма: 22

0
Ответов: 387
Рейтинг: 34
#14: 2009-02-11 01:51:48 ЛС | профиль | цитата
nesco писал(а):
Зачем нагружать компонент ненужными функциями

согласен может
nesco писал(а):
промежуточные компоненты

у нас есть компонент конвертор графики всех типов в один и впоток?
карма: 0

0
Разработчик
Ответов: 26066
Рейтинг: 2120
#15: 2009-02-11 02:52:08 ЛС | профиль | цитата
Karl писал(а):
у нас есть компонент конвертор графики всех типов в один и впоток?

А зачем один, когда есть разные Мы давно уже отошли от компонентов "все в одном". Вообще-то, с конвертором все в Bitmap очень кучеряво справляется ImageLoader
------------ Дoбавленo:

nesco писал(а):
тому, кому уже точно невмоготу

Я добавил в компонент Icon возможность загрузки иконки из потока.

карма: 22

1
Голосовали:Karl
Сообщение
...
Прикрепленные файлы
(файлы не залиты)