2017-11-17 11 views
0

다양한 항목이있는 목록 상자가 있습니다. 일부에는 액세서리가 부착되어 있습니다 (자세한 내용 및 세부 정보).액세서리가있는 Delphi firemonkey listboxitem - 클릭을 감지하는 방법?

액세서리를 클릭하고 목록 상자 항목 자체가 아닌 경우 검색 방법을 찾을 수 없습니다. listbox 항목의 클릭 수와 해당 액세서리 클릭 수를 구별해야합니까, 아니면 전혀 지원되지 않습니까? 난 내 케이스에 들어있는 버튼 이름을 검색

var 
BtnDelete : Tspeedbutton;  
begin 
     BtnDelete := TSpeedbutton.Create(self); 
     btndelete.Align := TAlignlayout(3); 
     btndelete.OnClick := ProcDeleteRDV; 
     Btndelete.StyleLookup := 'cleareditbutton'; 
     BtnDelete.Name :='RDV'+ vartostr(FieldValues['Num_rdv']); 
     TlistBoxItem.AddObject(BtnDelete); 
end; 

및 할당 절차에

: 당신이 항목을 만들 때, 할 수있는 일이 프로 시저를 작성하고 (의 OnClick) 이벤트에 할당 줄

+0

귀하의 문제를 이해하기 위해 구체적인 예를 들어 주어야한다고 생각합니다. – Dsm

+0

@Dsm, [사진은 수천 단어의 가치가 있습니다] (https://i.imgur.com/PwwHd0I.png) :) Softtouch, 구현할 수 있습니다. 단지 기능을 그대로 유지하고 싶습니까? 액세서리 제어 영역 안의 클릭을 감지합니까? 내 말은, 액세서리가 속하는 품목을 계속 선택하겠습니까? 또는 해당 개체가 항목에서 분리 된 것처럼 동작하도록 할 수 있습니다 (해당 영역을 클릭하면 항목을 선택하지 않습니다). – Victoria

+0

개체가 항목에서 분리 된 것처럼 동작해야하므로 사용자가 목록 상자 항목을 클릭하여 작업을 수행하고 액세서리를 클릭하여 다른 작업을 수행 할 수도 있습니다. – Softtouch

답변

0

데이터를 삭제하려고 할 때 사용할 기본 키 :

var 
clickedbuttonname : string; 
begin 
clickedbuttonname := TSpeedbutton(sender).Name; 
{ Your other code here} 
end; 

희망이 있으면 도움이 될 것입니다.