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

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

Иконки в меню


Maxim Pushkar ©   (2003-07-13 00:58:00) 

Столкнулся с проблемой. Хочу создать в меню пункты с иконками. Если делать как в MCK через LoadBmp(...) то все получается. Но не хочется держать столько картинок в ресурсах, а хочется присваивать иконки из ImageList-а. Подскажите, можно это сделать? И если да, то как?


Maxim Pushkar   (2003-07-18 23:12:00) [1]

Вопрос снимается. Выкрутил через onDrawItem на меню.
А насчет зачем скажу: хочу сделать программу с возможностью замены всех иконок на произвольные (в меню, тулбаре, на кнопках), причем это должно быть просто. Держать такую уйму отдельных картинок неудобно, а через один ImageList с подгружаемым файлом иконок получается проще и удобнее всего.


Кладов   (2003-07-18 16:41:00) [2]

Зачем вообще в list view их засывывать, если меню работает только с битмапами. Если из listview, то все равно надо 1. извлечь иконку, 2. создать битмап и отрисовать ее на битмапе. 3. опять же дать хэндл битмапа. Если битмап черный, SaveToFile его и посмотреть, вдруг он правда не нарисовался.


Maxim Pushkar   (2003-07-17 23:40:00) [3]

Я эти функции уже прошел. Я даже использовал TBitmap с функцией LoadFromFile и все прекрасно работает. Но мне нужно не совсем это. Вернее совсем не это. Есть битмап, скажем, 128x16 пикселей. Засовываю его в ImageList и хочу показать в меню в качестве иконки 3, 5, 7... элемент 16x16 из этого ImageList'а. Как мне это можно сделать?
Пробовал создавать Bitmap и рисовать на нем, а потом хэндл битмапа подсовывать в пункт меню, но в итоге получал "черный квадрат Малевича". Может кто поскажет, что нужно сделать, чтобы нарисовать элемент ImageList'а в Bitmap, чтобы этот Bitmap потом подсунуть в меню?


Кладов   (2003-07-17 15:35:00) [4]

LoadBmp использует API-функцию LoadBitmap. Для загрузки из файла есть API-функция LoadImage.


Maxim Pushkar   (2003-07-16 22:59:00) [5]

Смотрел. Там как раз и стоит LoadBmp, то есть подгрузка из ресурсов. А мне надо (ну очень надо), чтобы картинка бралась из bmp-файла, причем не всего, а из определенных координат (вариант ListView). Но сколько не кувыркаюсь, ничего не выходит.


Кладов   (2003-07-16 16:17:00) [6]

Смотреть надо код, который сгенерил MCK, your_unit_1.inc


Maxim Pushkar   (2003-07-15 23:13:00) [7]

Может подскажешь, что именно смотреть? Я уже пытался вникнуть, но я в писании на низком уровне не силен, а там исходников на мегабайт.


SPeller   (2003-07-15 04:12:00) [8]

Ну так посмотри как это делает МСК, да сделай сам так же. Чё мучаешься?


Maxim Pushkar   (2003-07-14 23:47:00) [9]

Так что, никто не может сказать, как можно в меню показать иконки, динамически подгружаемые из bmp-файла?


Maxim Pushkar   (2003-07-13 15:03:00) [10]

У меня есть желание подгружать иконки из bmp-файла, чтобы можно было их менять извне. Для тулбара все прекрасно работает, а вот для меню так не получается. Заодно вопрос. Как можно получить скажем битмап N-го элемента ИмиджЛиста?


SPeller   (2003-07-13 08:44:00) [11]

ImageList хранит иконки в ресурсах. А, кстати, чем они тебе не нравятся?


Наверх

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