Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.02 c
1-1079431566
user
2004-03-16 13:06
2004.04.04
Как на форме отследить нажатие на F5 ?


6-1075230412
WM
2004-01-27 22:06
2004.04.04
Как загрузить History в TSringList?


9-1064391385
CHiF
2003-09-24 12:16
2004.04.04
Squad


11-1058716509
Кладов
2003-07-20 19:55
2004.04.04
Версия 1.80


8-1070444370
Hkr
2003-12-03 12:39
2004.04.04
PlaySound...




   Наверх