Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ListView и Checked Item-ы [D5, Win2k]


oleksa ©   (2002-01-11 15:58:00) 

Здравствуйте

Есть ListView, у которого ViewStyle = vsReport, Checkboxes = true
Пользователь кликает на checkbox-e определенного Item-а (только checkboxe, сам Item не выделяется) При изменении checkbox-а каждого Item-a нужно выполнять некие действия.
Скажите пожалуйста, как написать свой обработчик, который бы реагировал только на изменения свойства Checked элемента TListView? При этом нужно знать, для какого элемента это свойство было изменено.

Спасибо


oleksa   (2002-01-11 18:42:00) [1]

Спасибо, все решилось написанием обработчика OnMouseDown
Если подскажете более элегантный вариант - буду благодарен.

procedure TForm1.lvMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
fi :TLVFindInfo;
i :integer;
begin
fi.pt.x := X;
fi.pt.y := Y;
fi.flags := LVFI_NEARESTXY;
fi.vkDirection := VK_UP;
i := ListView_FindItem(self.Handle, -1, fi);
if( i >= 0 )then
if( (Sender as TListView).Items.Item[i].Checked )then
ShowMessage("Checked")
else
ShowMessage("Unchecked");
end;


oleksa   (2002-01-11 18:22:00) [2]

Я согласен уже сообщения перехватывать, только скажите - какий параметры Message? (Msg, WParam, LParam)


Наверх

Титульная страница Поиск, карта сайта Написать письмо