Форум: "Основная";
Текущий архив: 2002.07.15;
Скачать: [xml.tar.bz2];
ВнизИконки в ListView Найти похожие ветки
← →
XShura (2002-06-27 09:21) [0]Всем привет! Помогите с решением.
У меня есть ListView на котором при помощи иконок отображается
состояние некоторых устройств (например : устройство в норме - синий квадратик, устройство неисправно - красный квадратик и т.д.), но у устройств может быть комбинация состояний : неисправно и заблокировано (должен быть красный квадратик с крестиком внутри), исправно и заблокировано (синий квадратик с крестиком внутри) и т.д. Вопрос, как мне имея "на руках" иконки с "простыми" состояниями (синий, красный квадратики, крестик и т.п.) отобразить их комбинацию в ListView ? На данный момент я все комбинации картинок занес в ImageList и путем несложных вычислений получаю номер нужной иконки. Спасибо.
← →
MBo (2002-06-27 09:26) [1]Твой метод самый лучший
← →
XShura (2002-06-27 09:31) [2]Если бы я видел код на мой вопрос, то я может быть и поверил ;)), но прикинь (на ты можно ? ;)) добавится хотя бы еще два состояния, которые необходимо отображать совместно с другими .... гиморно %-((
← →
MBo (2002-06-27 09:49) [3]ну тогда что-нибудь подобное
procedure TForm1.Button1Click(Sender: TObject);
var b1,b2:TBitmap;
begin
b1:=TBitmap.create;
b2:=TBitmap.create;
imagelist1.GetBitmap(0,b1);
imagelist1.GetBitmap(1,b2);
b1.canvas.copymode:=cmMergePaint;//подбери режим
b1.canvas.draw(0,0,b2);
imagelist1.Add(b1,nil);
listview1.items[2].ImageIndex:=2;
end;
← →
XShura (2002-06-27 10:05) [4]Ну вот, а говорил шо мой метод самый лучший ;) спасибо!! и маленький вопрос... неужели никак нельзя отвязаться при рисовании иконок от ImageList ? .. ну типа OnCustomDraw задействовать......
← →
MBo (2002-06-27 10:14) [5]можно, но с ImageList IMHO удобнее
← →
XShura (2002-06-27 10:25) [6]Понятно... ну тоды буду при загрузке формировать комбинации иконок и заносить их в ImageList, а потом уже действовать по своему алгоритму.
P.S. На форуме недавно, но уже нравится оперативность ответов :)) Спасибо создателям сайта, и тем кто отвечает на наши вопросы !
← →
valery_f (2002-06-27 12:46) [7]Во первых - иконки не обязательно должны быть квадратными (только что попробовал 64х16), во вторых - содержимое ImageList"а на ходу можно перекручивать. К примеру, в зависимости от состояния можно создать битмап - комбинацию из простых элементов (ну, скажем, квадратики в ряд :) и вживую вкинуть их в ImageList.
← →
XShura (2002-06-27 13:36) [8]Перекручивать то можно, но при этом будут изменяться картинки на всех пунктах ListView...
← →
DieHard (2002-06-27 13:43) [9]А чем не устраивает вариант с использованием OverlayIndex?
Он как раз для таких ситуаций и нужен
← →
XShura (2002-06-27 13:52) [10]А можно поподробнее об OverlayIndex ? ..... я просто не очень во всей этой графике шарю ;)
← →
DieHard (2002-06-27 14:20) [11]В OverlayIndex указываешь индекс той картинки из TImageList, которая должна быть поверх основной. Например, крестик поверх квадратика. Левый нижний пиксель картинки с крестиком будет определять прозрачность. Единственная проблема (хотя может это только у меня такой глюк) - значения, при которых это всё работает, определяются опытным путем :) Например, OverlayIndex=0 - установить картинку, OverlayIndex=9 - снять
← →
valery_f (2002-06-27 15:02) [12]> XShura © (27.06.02 13:36) Перекручивать то можно, но при этом будут изменяться картинки на всех пунктах ListView...
Да, но что тебе мешает сделать каждому пункту по своей картинке в ImageList"е? Вариант абсолютно рабочий!
← →
XShura (2002-06-27 16:21) [13]Хм... тоже неплохой вариант ;) буду выбирать какой использовать.....
← →
XShura (2002-07-01 09:19) [14]Всем привет! Со вставкой комбинаций картинок разобрался ... совмещал картинки по методу MBo, а работал с ними по методу valery_f... и как всегда небольшой вопрос ;) при вставке картинки в ImageList, ListView моргает :((, как от этого можно избавиться?
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.07.15;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.095 c