![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ListView и CheckBox [D6, WinXP]
Yuri Btr © (2002-07-02 09:37:00)Ув. мастера, как заставить СheckBox"ы появляться рядом с каждым Items в ListView?
У меня стоит ViewStyle:=vsReport и Chekboxes:=True, так же все Items имеют свойство checked:=true
Т.е. все условия из Help выполнены, но chekbox"ы так и не появляются...
Yuri Btr (2002-07-02 13:51:00) [1]Всё! я понял - ReadOnly должно быть False! чтобы корректно выдавать количество Items. Правда никакой логики я не вижу в этом.
А checkbox"ы так и не появились :-(
Большое спасибо за сочуствие...
MBo (2002-07-02 13:47:00) [2]и OnFormCreate
и для PageControl
результат положительный ;)
Yuri Btr (2002-07-02 13:35:00) [3]to MBo
А вы попробуйте CheckHotListView вызвать напрмер из OnFormCreate, или расположить кнопку, на другой странице PageControl - результат почему то отрицательный.
Заранее спасибо.
MBo (2002-07-02 13:23:00) [4]у меня вот так все работает
procedure CheckHotListView;
var
i:integer;
begin
for i:=0 to Form1.Listview1.Items.Count-1
do
begin
if Form1.Listview1.Items.Item[i].Checked=false
then
Form1.Listview1.Items.Item[i].ImageIndex:=0
else
Form1.Listview1.Items.Item[i].ImageIndex:=1
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
caption:=inttostr(listview1.Items.Count);
CheckHotListView;
end;
Yuri Btr (2002-07-02 13:10:00) [5]to Mbo
Эта процедура срабатывает только при вызове её из ListView1.OnAdvancedCustomDraw, тогда она возвращает правильное количество Items. А во всех других случаях (например при нажатии кнопки) - LV4.Items.Count=0.
procedure CheckHotListView;
var
i:smallint;
begin
for i:=0 to Form1.LV4.Items.Count-1
do
begin
if Form1.LV4.Items.Item[i].Checked=false
then
Form1.LV4.Items.Item[i].ImageIndex:=50
else
Form1.LV4.Items.Item[i].ImageIndex:=51
end;
end;
может что-то с самим ListView?
MBo (2002-07-02 12:45:00) [6]1) ViewStyle:=vsReport и Chekboxes:=True все работает нормально, чекбоксы есть
2) listview1.Items.Count при ListView1.OwnerData=False (как стоит по умолчанию) выдает количество элементов.
так что смотри, что у тебя не в порядке
Yuri Btr (2002-07-02 11:02:00) [7]И ещё вопрос в догонку..
Свойство ListItem - Count - Доступно только когда ListView.OwnerData=True ? В других случаях count = 0, а мне нужно перебрать все Items в ListView.