-
Постов
20 -
Зарегистрирован
-
Посещение
Активность репутации
-
Legit Coder отреагировална krapotkin в How to display / Select only one TListViewItem from "OnItemClick" event?
Test.7z
-
Legit Coder отреагировална krapotkin в How to display / Select only one TListViewItem from "OnItemClick" event?
это методы, которые нужно написать
я старался, чтобы по названиям было понятно, что они должны делать
если смотреть на вашу картинку, то очевидно, что список показывается только тогда, когда мы нажали на кнопку, этим должен заняться метод ShowSelectionList()
после выбора, скорее всего, нужно будет убрать с экрана этот список, т.е. нужен еще один метод типа HideSelectionList().
если список все время на экране, то эти методы не нужны
UpdateValueLabels() как следует из названия - отражает то, что у нас хранится в переменных FirstValue и SecondValue, в соответствующие места на экране, в первую и вторую метку
-
Legit Coder отреагировална krapotkin в How to display / Select only one TListViewItem from "OnItemClick" event?
я не знаю, откуда вы берете текст, который размещается в ListView но он же должен где-то храниться
вот оттуда его берём в методе UpdateLabels
TForm3 = class(TForm) ... SelectedList : TList<integer>; ... end; ........ procedure TForm3.FormCreate(Sender : TObject); begin SelectedList := TList<integer>.Create; end; procedure TForm3.FormDestroy(Sender : TObject); begin FreeAndNil(SelectedList); end; procedure TForm3.ListView1ItemClick(const Sender: TObject; const AItem: TListViewItem); begin if SelectedList.Count = 2 then exit; case Selected Count of 0 : begin SelectedList.Add(AItem.Index); UpdateLabels(); end; 1 : begin if SelectedList[0] <> AItem.Index then SelectedList.Add(AItem.Index); UpdateLabels(); end; end; end; procedure TForm3.UpdateLabels(); begin if SelectedList.Count > 0 then label1.text := varIDontKnowWhereYourTextStored[ SelectedList[0] ] else label1.text := ''; if SelectedList.Count > 1 then label2.text := varIDontKnowWhereYourTextStored[ SelectedList[1] ] else label2.text := ''; end;