Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.04;
Скачать: CL | DM;

Вниз

Иконки в меню   Найти похожие ветки 

 
Maxim Pushkar   (2003-07-13 00:58) [0]

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


 
SPeller ©   (2003-07-13 08:44) [1]

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


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

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


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

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


 
SPeller ©   (2003-07-15 04:12) [4]

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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



Страницы: 1 вся ветка

Текущий архив: 2004.04.04;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.025 c
1-1079621153
КомофОнСамый
2004-03-18 17:45
2004.04.04
TMemo - ограничения


6-1074752837
Hooch
2004-01-22 09:27
2004.04.04
кодировка поля Subject в письме


6-1075097889
Коляныччч
2004-01-26 09:18
2004.04.04
Порты


1-1079626166
Kor@l
2004-03-18 19:09
2004.04.04
mouse and RButton


1-1079121562
ST
2004-03-12 22:59
2004.04.04
Передача параметров приложению