Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

хранение изображений [D7, WinXP]


tradakad ©   (2004-12-27 10:54:00) 

имеется простое приложение. я получаю хендл иконки какого нибудь приложения. где и как лучше хранить иконку?


tradakad   (2004-12-28 12:40:00) [1]

создаю меню
  hPopup:=CreatePopupMenu;

создаю итем так
 AppendMenu(hPopup,MF_STRING,13,'Exit');

хендл иконки у меня здесь
hIcon := LoadIcon(hInst,'MAINICON');

как этому итему присвоить эту иконку по этому хендлу если у меня есть только хендл меню!?

или в принципе могу создать ImageList
  himlIcons:= ImageList_Create(GetSystemMetrics(SM_CXICON), GetSystemMetrics(SM_CYICON), ILC_COLOR32 or ILC_MASK, 0, 0);

и добавить в него иконку но опять таки по хендлу
  ImageList_AddIcon(himlIcons,LoadIcon(hInst,'MAINICON'));

как эту иконку теперь назначить итему? что я уже только не пробовал... ( неужели никто не подскажет .....


grom   (2004-12-27 19:37:00) [2]

итем.ImageIndex:=0;


tradakad   (2004-12-27 13:21:00) [3]

ExtractIcon .. я читал. вопрос в том как присвоить итему popup menu иконку. которую я получу из ImageList?


DVM   (2004-12-27 13:12:00) [4]


> иконку из ImageList

в ImageList нет никаких иконок. Там хранятся точечные изображения, но ImageList умеет из них создавать иконки и извлекать полученное из себя. См. функции для работы с ImageList.


tradakad   (2004-12-27 13:09:00) [5]

это чудесно получилось. ImageList создается и иконки уда загружаются. теперь вопрос стал боком ) итем PopupMenu я создаю, но как присвоить теперь этому итем иконку из ImageList если присвоить можно только битмап а не икон?


DVM   (2004-12-27 12:24:00) [6]


> а как сделать ImageList ав WinApi?

himlLarge := ImageList_Create(GetSystemMetrics(SM_CXICON), GetSystemMetrics(SM_CYICON), ILC_COLOR32 or ILC_MASK, 0, 0);

> как добавить иконки? пример плиз

справка Win32 Api по слову ImageList


tradakad   (2004-12-27 12:09:00) [7]

а как сделать ImageList ав WinApi? как добавить иконки? пример плиз. или хоть где копать то..


DVM   (2004-12-27 11:49:00) [8]


> я наверное плохо объяснил.

Это уж точно...

> но не знаю что делать с рисунками (иконками) ведь чтобы
> создать новую иконку нужно подключить grafics  что чревато
> увеличением размера исполняемого файла до 300 кб... что
> деалть?

Зачем создавать какие-то там иконки??? ImageList есть и в WinApi и изображение в него легко добавить. Иконку в том числе.


tradakad   (2004-12-27 11:11:00) [9]

я наверное плохо объяснил. есть прога. она получает список видимых окон и записывает заголовки окон в пункты popup menu , кроме того я получаю хендлы иконок этих окон , затем добавляю создаю иконку по полученному хендлу, и добавляю уже готовые иконки в ImageList а уже когда они созданы, для итемов popupmenu укаызваю индекс иконки из image list. я это сделал с использованием vcl теперь хочу сделать на чистом апи (если можно так сказать) впринципе все получается но не знаю что делать с рисунками (иконками) ведь чтобы создать новую иконку нужно подключить grafics  что чревато увеличением размера исполняемого файла до 300 кб... что деалть?


DVM   (2004-12-27 10:56:00) [10]


> где и как лучше хранить иконку?

Нигде ее лучше не хранить. Отрисовывать по месту и уничтожать. Потом при необходимости получать заново. Или в ImageList положить.


Наверх

Титульная страница Поиск, карта сайта Написать письмо