You've already forked lazarus-ccr
ExCtrls: Fix TRadiogroupEx/TCheckGroupEx firing OnEnter/OnExit events when another sub-control is selected. New events OnItemEnter/OnItemExit. See also LCL issue #37768.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7674 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -721,9 +721,9 @@ object Form1: TForm1
|
|||||||
Left = 8
|
Left = 8
|
||||||
Height = 25
|
Height = 25
|
||||||
Top = 254
|
Top = 254
|
||||||
Width = 99
|
Width = 113
|
||||||
AutoSize = True
|
AutoSize = True
|
||||||
Caption = 'Test 2nd form'
|
Caption = 'Test modal form'
|
||||||
OnClick = Button2Click
|
OnClick = Button2Click
|
||||||
TabOrder = 5
|
TabOrder = 5
|
||||||
end
|
end
|
||||||
|
@ -316,14 +316,15 @@ type
|
|||||||
FUpdatingItems: Boolean;
|
FUpdatingItems: Boolean;
|
||||||
FOnClick: TNotifyEvent;
|
FOnClick: TNotifyEvent;
|
||||||
FOnGetImageIndex: TGetImageIndexEvent;
|
FOnGetImageIndex: TGetImageIndexEvent;
|
||||||
|
FOnItemEnter: TNotifyEvent;
|
||||||
|
FOnItemExit: TNotifyEvent;
|
||||||
FOnSelectionChanged: TNotifyEvent;
|
FOnSelectionChanged: TNotifyEvent;
|
||||||
procedure ItemEnter(Sender: TObject);
|
procedure ItemEnter(Sender: TObject); virtual;
|
||||||
procedure ItemExit(Sender: TObject);
|
procedure ItemExit(Sender: TObject); virtual;
|
||||||
procedure ItemKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); virtual;
|
procedure ItemKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); virtual;
|
||||||
procedure ItemKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); virtual;
|
procedure ItemKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); virtual;
|
||||||
procedure ItemKeyPress(Sender: TObject; var Key: Char); virtual;
|
procedure ItemKeyPress(Sender: TObject; var Key: Char); virtual;
|
||||||
procedure ItemUTF8KeyPress(Sender: TObject; var UTF8Key: TUTF8Char); virtual;
|
procedure ItemUTF8KeyPress(Sender: TObject; var UTF8Key: TUTF8Char); virtual;
|
||||||
procedure ItemResize(Sender: TObject);
|
|
||||||
procedure SetAutoFill(const AValue: Boolean);
|
procedure SetAutoFill(const AValue: Boolean);
|
||||||
procedure SetColumnLayout(const AValue: TColumnLayout);
|
procedure SetColumnLayout(const AValue: TColumnLayout);
|
||||||
procedure SetColumns(const AValue: integer);
|
procedure SetColumns(const AValue: integer);
|
||||||
@ -347,6 +348,8 @@ type
|
|||||||
property ReadOnly: Boolean read FReadOnly write SetReadOnly default false;
|
property ReadOnly: Boolean read FReadOnly write SetReadOnly default false;
|
||||||
property OnClick: TNotifyEvent read FOnClick write FOnClick;
|
property OnClick: TNotifyEvent read FOnClick write FOnClick;
|
||||||
property OnGetImageIndex: TGetImageIndexEvent read FOnGetImageIndex write SetOnGetImageIndex;
|
property OnGetImageIndex: TGetImageIndexEvent read FOnGetImageIndex write SetOnGetImageIndex;
|
||||||
|
property OnItemEnter: TNotifyEvent read FOnItemEnter write FOnItemEnter;
|
||||||
|
property OnItemExit: TNotifyEvent read FOnItemExit write FOnItemExit;
|
||||||
property OnSelectionChanged: TNotifyEvent read FOnSelectionChanged write FOnSelectionChanged;
|
property OnSelectionChanged: TNotifyEvent read FOnSelectionChanged write FOnSelectionChanged;
|
||||||
public
|
public
|
||||||
constructor Create(AOwner: TComponent); override;
|
constructor Create(AOwner: TComponent); override;
|
||||||
@ -438,6 +441,8 @@ type
|
|||||||
property OnEnter;
|
property OnEnter;
|
||||||
property OnExit;
|
property OnExit;
|
||||||
property OnGetImageIndex;
|
property OnGetImageIndex;
|
||||||
|
property OnItemEnter;
|
||||||
|
property OnItemExit;
|
||||||
property OnKeyDown;
|
property OnKeyDown;
|
||||||
property OnKeyPress;
|
property OnKeyPress;
|
||||||
property OnKeyUp;
|
property OnKeyUp;
|
||||||
@ -531,6 +536,8 @@ type
|
|||||||
property OnExit;
|
property OnExit;
|
||||||
property OnGetImageIndex;
|
property OnGetImageIndex;
|
||||||
property OnItemClick;
|
property OnItemClick;
|
||||||
|
property OnItemEnter;
|
||||||
|
property OnItemExit;
|
||||||
property OnKeyDown;
|
property OnKeyDown;
|
||||||
property OnKeyPress;
|
property OnKeyPress;
|
||||||
property OnKeyUp;
|
property OnKeyUp;
|
||||||
@ -1405,12 +1412,12 @@ end;
|
|||||||
|
|
||||||
procedure TCustomCheckControlGroupEx.ItemEnter(Sender: TObject);
|
procedure TCustomCheckControlGroupEx.ItemEnter(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
DoEnter;
|
if Assigned(FOnItemEnter) then FOnItemEnter(Sender);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCustomCheckControlGroupEx.ItemExit(Sender: TObject);
|
procedure TCustomCheckControlGroupEx.ItemExit(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
DoExit;
|
if Assigned(FOnItemExit) then FOnItemExit(Sender);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCustomCheckControlGroupEx.ItemKeyDown(Sender: TObject;
|
procedure TCustomCheckControlGroupEx.ItemKeyDown(Sender: TObject;
|
||||||
@ -1439,11 +1446,6 @@ begin
|
|||||||
UTF8KeyPress(UTF8Key);
|
UTF8KeyPress(UTF8Key);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCustomCheckControlGroupEx.ItemResize(Sender: TObject);
|
|
||||||
begin
|
|
||||||
//
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TCustomCheckControlGroupEx.Rows: integer;
|
function TCustomCheckControlGroupEx.Rows: integer;
|
||||||
begin
|
begin
|
||||||
if FItems.Count > 0 then
|
if FItems.Count > 0 then
|
||||||
@ -1853,7 +1855,6 @@ begin
|
|||||||
OnKeyUp := @Self.ItemKeyUp;
|
OnKeyUp := @Self.ItemKeyUp;
|
||||||
OnKeyPress := @Self.ItemKeyPress;
|
OnKeyPress := @Self.ItemKeyPress;
|
||||||
OnUTF8KeyPress := @Self.ItemUTF8KeyPress;
|
OnUTF8KeyPress := @Self.ItemUTF8KeyPress;
|
||||||
OnResize := @Self.ItemResize;
|
|
||||||
ParentFont := True;
|
ParentFont := True;
|
||||||
ReadOnly := Self.ReadOnly;
|
ReadOnly := Self.ReadOnly;
|
||||||
BorderSpacing.CellAlignHorizontal := ccaLeftTop;
|
BorderSpacing.CellAlignHorizontal := ccaLeftTop;
|
||||||
|
Reference in New Issue
Block a user