Carbon: Trigger TListView.OnItemChecked. patch by Piotr Karasinski. issue #21275

git-svn-id: trunk@35830 -
This commit is contained in:
zeljko 2012-03-08 18:49:43 +00:00
parent 59405826bd
commit 3681e6f4dd

View File

@ -252,6 +252,8 @@ type
procedure SetViewStyle(AStyle: TViewStyle);
procedure CheckChanged(AIndex: Integer; AChecked: Boolean); override;
procedure DoColumnClicked(MouseX,MouseY: Integer);
procedure SetItemsCount(ACount: Integer);
function NeedDeliverMouseEvent(Msg: Integer; const AMessage): Boolean; override;
@ -1759,6 +1761,32 @@ begin
ShowAsList(True);
end;
procedure TCarbonListView.CheckChanged(AIndex: Integer; AChecked: Boolean);
var
Msg: TLMNotify;
NMLV: TNMListView;
begin
inherited CheckChanged(AIndex, AChecked);
if FDestroying then Exit;
FillChar(Msg, SizeOf(Msg), #0);
FillChar(NMLV, SizeOf(NMLV), #0);
Msg.Msg := CN_NOTIFY;
NMLV.hdr.hwndfrom := LCLObject.Handle;
NMLV.hdr.code := LVN_ITEMCHANGED;
NMLV.iItem := AIndex;
NMLV.uNewState := UINT(AChecked);
NMLV.uChanged := LVIF_STATE;
Msg.NMHdr := @NMLV.hdr;
DeliverMessage(LCLObject, Msg);
end;
procedure TCarbonListView.DoColumnClicked(MouseX, MouseY: Integer);
type
TColumnInfo = record