1. 사용설명
Click된 컬럼은 Caption을 포함한 인덱스 값을 유지한다.
...
Item.Caption = column 0
Item.subitem[0] = column 1
Item.subitem[1] = column 2
...
클릭이벤트를 인지할수 있는 방법
1. TListView의 OnMouseDown 이벤트 핸들러를 이용할 수 있음.
2. 제공된 마우스 X,Y 좌표를 이용해 Item을 얻을 수 있음
3. SubItems의 각 CELL Width를 계산하여 클릭된 컬럼을 인지할수 있음.
아래 예제는 "How to draw a checkbox to column in a TListView" 에 기술된 TListView의 특정 컬럼에 체크박스(TCheckBox)를 표시하는 것와 더불어 사용자 Action에 의해 체크박스를 클릭하는 효과를 얻을 수 있다.
...
procedure TTest1.LVMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
Item : TListItem;
Column : Integer;
Weg: Integer;
begin
Item:= ListView1.GetItemAt(0, Y);
if Assigned(Item) then
begin
Weg:= 0;
Column := -1;
repeat
Inc(Column);
Inc(Weg, ListView1.Columns[Column].Width);
until X< Weg;
if Column=2 then
begin
if Item.SubItems[1]='TRUE' then
Item.SubItems[1] := 'FALSE'
else
Item.SubItems[1] := 'TRUE';
end;
end;
end;
...
반응형
'IT > 델파이' 카테고리의 다른 글
안드로이드 앱 배포 (0) | 2023.02.12 |
---|---|
인디(Indy)를 이용한 Unicode 문자열의 안전한 전송 (0) | 2023.02.12 |
날짜 연산 정리 (DateUtils.pas) (0) | 2023.02.09 |
Enum 변수 설정 (0) | 2023.02.08 |
delphi 정규표현식(Regular Expression) 정리 표 (0) | 2023.02.08 |