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

Вниз

Как в ListView с CheckBox отловить событие установки галки?   Найти похожие ветки 

 
Mishenka   (2005-10-12 14:44) [0]

Как в ListView с CheckBox = True отловить событие установки и снятия галки?


 
Del_programmer ©   (2005-10-12 14:50) [1]

Checked:=true - есть галя
Checked:=false - нет гали


 
begin...end ©   (2005-10-12 18:59) [2]

> Mishenka   (12.10.05 14:44)

Либо назначить соответствующий обработчик OnClick или OnMouseDown, в котором вызывать GetHitTestInfoAt и проверять, есть ли в полученном множестве значение htOnStateIcon, либо отслеживать и обрабатывать нотификации LVN_ITEMCHANGED, отправляемые родительскому окну.


 
GuAV ©   (2005-10-12 19:06) [3]

TVInfo: TTVHitTestInfo;

procedure TForm1.TreeViewMouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
 TVInfo.pt := Point(X, Y);
 TControl(Sender).Perform(TVM_HITTEST, 0, LPARAM(@TVInfo));
end;


procedure TForm1.TreeViewClick(Sender: TObject);
begin
 if TVinfo.flags and TVHT_ONITEMSTATEICON <> 0 then
   HandleCheckChange; // изменение состояния чекбокса
end;


 
begin...end ©   (2005-10-12 19:12) [4]

> GuAV ©   (12.10.05 19:06) [3]

Всё же лучше воспользоваться уже готовым методом GetHitTestInfoAt. И он сам сделает то же самое (как для ListView, так и для TreeView).



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

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

Наверх




Память: 0.47 MB
Время: 0.062 c
2-1129195930
DancerMan
2005-10-13 13:32
2005.11.06
dxDBTreeView


14-1129051858
Galiaf
2005-10-11 21:30
2005.11.06
Синий экран в Windows XP SP 2.


2-1129269446
Gomez
2005-10-14 09:57
2005.11.06
Форматирование текста при выводе TStringGrid в файл


1-1129555609
malamba
2005-10-17 17:26
2005.11.06
как в listbox хранить двойные данные


4-1125428752
deamon_t
2005-08-30 23:05
2005.11.06
Програмно выключить монитор