Sergiy_83 Опубликовано 7 марта, 2018 Опубликовано 7 марта, 2018 Всем привет. Android. Обработчик события OnClick TListBoxItem: void __fastcall TTabbedForm::item_click(TObject *Sender) { Label1->Text = ListBox1->ItemIndex; } После выбора любого итема получаю индекс предыдущего итема который был выбран, наверное обработчик срабатывает первее, чем запись нового ItemIndex. Что делать? Мне надо выбрать итем и узнать его порядковый номер. Цитата
0 Модераторы Равиль Зарипов (ZuBy) Опубликовано 8 марта, 2018 Модераторы Опубликовано 8 марта, 2018 Использовать OnTap Цитата
0 Sergiy_83 Опубликовано 8 марта, 2018 Автор Опубликовано 8 марта, 2018 Равиль спасибо. Пробовал. К сожалению событие OnTap не наступает. Цитата
0 sinuke Опубликовано 9 марта, 2018 Опубликовано 9 марта, 2018 (изменено) А обработчик вешаете на ListBox или на итемы? Просто итемат листбокса можно задавать свои обработчики OnClick: procedure TForm1.ListBoxItem1Click(Sender: TObject); begin ShowMessage((Sender as TListBoxItem).Index.ToString); end; А можно задать обработчик OnItemClick у самого листбокса, и индекс узнавать например так: procedure TForm1.ListBox1ItemClick(const Sender: TCustomListBox; const Item: TListBoxItem); begin ShowMessage(Item.Index.ToString); end; Изменено 9 марта, 2018 пользователем sinuke Sergiy_83 1 Цитата
0 Sergiy_83 Опубликовано 9 марта, 2018 Автор Опубликовано 9 марта, 2018 29 минут назад, sinuke сказал: А можно задать обработчик OnItemClick у самого листбокса, и индекс узнавать например так: sinuke cпаcибо большое. Посмотреть события самого listbox-а не пришло в голову. OnItemClick у ListBox-а не очень подходит.В принципе работает так ка надо, но если выделить итем и палец увести не отрывая из области листбокса, то событие не наступает, хотя выбор нового итема фактически произошол. Помогло в моем случае OnMouseLeave листбокса. А у TListBoxItem OnMouseLeave тоже не наступает. Цитата
Вопрос
Sergiy_83
Всем привет.
Android.
Обработчик события OnClick TListBoxItem:
void __fastcall TTabbedForm::item_click(TObject *Sender) { Label1->Text = ListBox1->ItemIndex; }После выбора любого итема получаю индекс предыдущего итема который был выбран,
наверное обработчик срабатывает первее, чем запись нового ItemIndex. Что делать? Мне надо выбрать итем и узнать его порядковый номер.
4 ответа на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.