2017-12-12 5 views
0

ListView에서 선택한 항목이 변경 될 때마다 프로 시저를 한 번 실행하고 싶습니다. 분명한 선택은 OnSelectItem이지만 사용자가 선택한 항목에서 다른 항목으로 이동할 때 (마우스 또는 화살표 키 사용) 두 번이라고합니다. 마찬가지로 항목간에 이동하면 OnChange는 세 번 번 호출됩니다.ListView에서 선택한 항목을 변경하면 어떤 이벤트가 호출됩니까?

이러한 조건에서 한 번만 생성되는 이벤트가 있습니까? OnClick은 한 번 생성되지만 화살표 키 등을 사용하여 항목 사이를 이동하는 것을 포함하지 않습니다.

+0

VCL 또는 FMX –

+0

VCL 앱입니다. –

+0

OnSelectItem 이벤트는 변경중인 항목과 선택 또는 선택 취소 여부를 알려줍니다. 따라서 두 개의 이벤트 트리거를 가져 오는 것이 좋습니다. 하나는 선택되지 않은 이전 항목에 대한 것이고, 다른 하나는 선택되는 새 항목에 대한 것입니다. OnChange 이벤트는 상태 변경에 대해서도 트리거되므로 두 번 이상 트리거 될 수도 있습니다. –

답변

3

OnSelectItem을 사용하면 이렇게 할 수 있습니다.

  • 마지막으로 선택한 항목을 기억하십시오.
  • OnSelectItem이 실행되면 현재 선택된 항목이 내가 기억한 항목과 다른지 확인하십시오.
  • 그렇다면 작업을 수행하고 선택한 새 항목을 기록해 둡니다.
+0

훌륭한 작품. 고마워, 데이빗. –

관련 문제