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

Вниз

Картинки в ListView   Найти похожие ветки 

 
Диман   (2004-05-10 02:35) [0]

Привет, всем!
Есть проблема.
Не получается отображать картинки в ListView.
Выставляю в Options lvoSubItemImages = true, lvoOwnerDrawFixed = true

В VCL картинки выводились просто у тех SubItems"ов, которые укажешь
Картинки живут в ImageList"e

В КОЛ проблемой для меня оказалось такое сделать....
Просто после таких действий ничего не отображается в ListView


 
Gandalf ©   (2004-05-10 12:12) [1]

А ты сам  ImageList навесил? А индексы картинок на элементы указал?


 
Диман   (2004-05-10 13:18) [2]

Получилось вывести картинки у 1-го Itema (который в VCL-Caption)
Просто убрал из Options  lvoOwnerDrawFixed = true, вернее сделал  lvoOwnerDrawFixed = false.

Но появилась другая проблема, не могу выставить картинки для определенных SubItems"ов

Использую версию KOL&MCK 1.91

Есть hlp файл по KOL&MCK v.0.94
так там для ListView есть некое свойство, которого, имхо, нет в v.1.91 -
property LVItemImgIdx[ Idx, Col: Integer ]: Integer;
типа можно выставить картинку для любого SubItem"a

Может кто подскажет, как картинку для SubItem"a выводить?

Copyright (C) by Vladimir Kladov, 1999-2001


 
Диман   (2004-05-10 13:51) [3]

Решил проблему через API, используюя SendMessage

Но хотелось бы узнать, как можно просто используя KOL сделать такое


 
Gandalf ©   (2004-05-12 13:01) [4]

Картинка выводиться сама - если заданы картинки, индексы и опции ListView... посмотри примеры с ListView...


 
Диман   (2004-05-12 14:13) [5]

посмотри примеры с ListView...
какие примеры??? все которые видел. там такого нет...
Для первого Itema могу иконку выводить, а для SubItem"ов не могу
как их задать то, индексы иконок, для SubItem"ov?

ListView у меня имеет стиль lvsDetail

в Options есть только lvoSubItemImages, его выставлюя в True
есть ImageList с картинками

Проблема в том, как, например, для 3-его SubItema выводить картинку....
Какой метод, свойство? Я не нашел...


 
SPeller ©   (2004-05-12 14:49) [6]

LVSetItem(), и там всё что хочешь.


 
Диман   (2004-05-12 15:58) [7]

Спасибо...

В принципе я сделал так через API, как писал выше, заполнил структуру TC_ITEM, затем полслал месадж LVM_SETITEM

var
...
 lvItem: TLVITEM;
...
begin
 ....
    lvItem.mask:= LVIF_IMAGE or LVIF_TEXT;
    lvItem.iItem:= i;  {строка в ListView, в которой надо будет рисовать}
    lvItem.iSubItem:= 3; {тут понятно, в 3-tv, вернее 4-ом столбце}
    lvItem.state:= 0;
    lvItem.stateMask:= 0;
    lvItem.cchTextMax:= 10;
    lvItem.iImage:= 3; {номер иконки}
    lvItem.pszText:= "Собственно, сам текст Items-a";
    SendMessage(ListView2.Handle, LVM_SETITEM, 0, Integer(@lvItem));
 ...
end;



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

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

Наверх




Память: 0.48 MB
Время: 0.037 c
4-1099683711
Piter
2004-11-05 22:41
2004.12.19
Как определить Handle окна, которое находится под курсором мыщи?


14-1101307465
Chlavik
2004-11-24 17:44
2004.12.19
Новый раздел форума...


9-1092940461
Колбасьев
2004-08-19 22:34
2004.12.19
Анимация X файлов + волосы на текстуре


3-1100752786
Vladik
2004-11-18 07:39
2004.12.19
Настройки соединения для ADO


1-1102021216
ali_t
2004-12-03 00:00
2004.12.19
как узнать что файл не открыт другим процесом