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

Вниз

На какое событие это сделать?   Найти похожие ветки 

 
.ruslan ©   (2005-08-11 14:21) [0]

Доброго времени суток!
С одной проблемой накануне столкнулся я, и не могу сдвинуться с «мёртвой точки». Так вот,  нужно что бы при выборе одной из строк компонента TListView, нужно чтобы например TLabel принимал свойство Caption равную одному из ячейки выбранной строки компонента. Помогите если это вас не затруднит. На какое событие это сделать?


 
Digitman ©   (2005-08-11 14:24) [1]

на OnChange

при условии что выбор эл-та списка осуществляется интерактивно.


 
.ruslan ©   (2005-08-11 14:30) [2]

то есть?


 
Digitman ©   (2005-08-11 14:37) [3]

то есть событие возбуждается по инициативе юзера, а не программно


 
.ruslan ©   (2005-08-11 15:53) [4]

Сделал вот так:

procedure TMAIN.ListView2Change(Sender: TObject; Item: TListItem;
 Change: TItemChange);
var
i:integer;
begin
i:=listview2.ItemIndex;
label4.Caption := listview2.Items.Item[i].SubItems.Strings[1];
end;


Ругается млин, EAccessViolation. Что-там не так?


 
TUser ©   (2005-08-11 15:59) [5]

Кто-то не создан.

PS. Тебе Item уже передали, поэтому можно прямо написать Item.SubItems..., без всяких там I и индексов.


 
.ruslan ©   (2005-08-11 17:19) [6]

Нет, дело в том, что у меня множество (не один) столбцов


 
pasha_golub ©   (2005-08-11 17:31) [7]

Нумерация с нуля начинается. Это учел?


 
GuAV ©   (2005-08-11 17:44) [8]

Это событие вызывается и при потере выбора.
SubItems - существует ?
Strings[1] -  существует ?


 
.ruslan ©   (2005-08-11 18:13) [9]

Да, всё существует. 4 строки, и более за 10 колон


 
.ruslan ©   (2005-08-11 18:17) [10]

Нажимаю первый раз - всё работает, второй - error...


 
Eraser ©   (2005-08-11 18:35) [11]

.ruslan ©   (11.08.05 18:17) [10]

Ошибка видать в 17-й строке.


 
.ruslan ©   (2005-08-11 19:17) [12]

Всё сделал, спасибо всем! Решил пойти нетрадиционным способом, вот:

procedure TMAIN.ListView2Click(Sender: TObject);
var
i:integer;
begin
i:=listview2.ItemIndex;
if ListView2.Selected <> nil then
begin
 label4.Caption := listview2.Items.Item[i].SubItems.Strings[0];
end;
end;



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

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

Наверх




Память: 0.49 MB
Время: 0.052 c
1-1124124080
webpauk
2005-08-15 20:41
2005.09.04
Проверка наличия в строке


3-1122450217
Zmiy
2005-07-27 11:43
2005.09.04
ADOStoredProc


9-1115718676
nikitoz
2005-05-10 13:51
2005.09.04
Автору dceDemo.


1-1123867834
Андрей Молчанов
2005-08-12 21:30
2005.09.04
TTreeView неправильная прорисовка границ


14-1123512643
GuAV
2005-08-08 18:50
2005.09.04
Шум, вызванный бездействием системы.