mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-12 00:55:59 +02:00
LCL: add EnabledChanging and EnabledChanged events for TControl. Issue #20300, patch from Silvio Clécio
git-svn-id: trunk@32465 -
This commit is contained in:
parent
4d3cc5e247
commit
ea9e588d42
@ -874,6 +874,8 @@ type
|
|||||||
chtOnChangeBounds,
|
chtOnChangeBounds,
|
||||||
chtOnVisibleChanging,
|
chtOnVisibleChanging,
|
||||||
chtOnVisibleChanged,
|
chtOnVisibleChanged,
|
||||||
|
chtOnEnabledChanging,
|
||||||
|
chtOnEnabledChanged,
|
||||||
chtOnKeyDown
|
chtOnKeyDown
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -1230,6 +1232,8 @@ type
|
|||||||
function DoMouseWheelUp(Shift: TShiftState; MousePos: TPoint): Boolean; virtual;
|
function DoMouseWheelUp(Shift: TShiftState; MousePos: TPoint): Boolean; virtual;
|
||||||
procedure VisibleChanging; virtual;
|
procedure VisibleChanging; virtual;
|
||||||
procedure VisibleChanged; virtual;
|
procedure VisibleChanged; virtual;
|
||||||
|
procedure EnabledChanging; virtual;
|
||||||
|
procedure EnabledChanged; virtual;
|
||||||
procedure AddHandler(HandlerType: TControlHandlerType;
|
procedure AddHandler(HandlerType: TControlHandlerType;
|
||||||
const AMethod: TMethod; AsFirst: boolean = false);
|
const AMethod: TMethod; AsFirst: boolean = false);
|
||||||
procedure RemoveHandler(HandlerType: TControlHandlerType;
|
procedure RemoveHandler(HandlerType: TControlHandlerType;
|
||||||
@ -1398,6 +1402,9 @@ type
|
|||||||
procedure AddHandlerOnVisibleChanged(const OnVisibleChangedEvent: TNotifyEvent;
|
procedure AddHandlerOnVisibleChanged(const OnVisibleChangedEvent: TNotifyEvent;
|
||||||
AsFirst: boolean = false);
|
AsFirst: boolean = false);
|
||||||
procedure RemoveHandlerOnVisibleChanged(const OnVisibleChangedEvent: TNotifyEvent);
|
procedure RemoveHandlerOnVisibleChanged(const OnVisibleChangedEvent: TNotifyEvent);
|
||||||
|
procedure AddHandlerOnEnabledChanged(const OnEnabledChangedEvent: TNotifyEvent;
|
||||||
|
AsFirst: boolean = false);
|
||||||
|
procedure RemoveHandlerOnEnableChanging(const OnEnableChangingEvent: TNotifyEvent);
|
||||||
procedure AddHandlerOnKeyDown(const OnKeyDownEvent: TKeyEvent;
|
procedure AddHandlerOnKeyDown(const OnKeyDownEvent: TKeyEvent;
|
||||||
AsFirst: boolean = false);
|
AsFirst: boolean = false);
|
||||||
procedure RemoveHandlerOnKeyDown(const OnKeyDownEvent: TKeyEvent);
|
procedure RemoveHandlerOnKeyDown(const OnKeyDownEvent: TKeyEvent);
|
||||||
|
@ -1387,11 +1387,24 @@ end;
|
|||||||
|
|
||||||
procedure TControl.VisibleChanged;
|
procedure TControl.VisibleChanged;
|
||||||
begin
|
begin
|
||||||
{ TODO -cdocking : For docked controls, the docking manager must receive a notification!
|
{ TODO -cdocking : For docked controls, the docking manager must receive a notification! }
|
||||||
}
|
|
||||||
DoCallNotifyHandler(chtOnVisibleChanged);
|
DoCallNotifyHandler(chtOnVisibleChanged);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{------------------------------------------------------------------------------
|
||||||
|
procedure TControl.EnabledChanging;
|
||||||
|
------------------------------------------------------------------------------}
|
||||||
|
procedure TControl.EnabledChanging;
|
||||||
|
begin
|
||||||
|
DoCallNotifyHandler(chtOnEnabledChanging);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TControl.EnabledChanged;
|
||||||
|
begin
|
||||||
|
{ TODO -cdocking : For docked controls, the docking manager must receive a notification! }
|
||||||
|
DoCallNotifyHandler(chtOnEnabledChanged);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TControl.AddHandler(HandlerType: TControlHandlerType;
|
procedure TControl.AddHandler(HandlerType: TControlHandlerType;
|
||||||
const AMethod: TMethod; AsFirst: boolean);
|
const AMethod: TMethod; AsFirst: boolean);
|
||||||
begin
|
begin
|
||||||
@ -2662,8 +2675,10 @@ procedure TControl.SetEnabled(Value: Boolean);
|
|||||||
begin
|
begin
|
||||||
if FEnabled <> Value
|
if FEnabled <> Value
|
||||||
then begin
|
then begin
|
||||||
|
EnabledChanging;
|
||||||
FEnabled := Value;
|
FEnabled := Value;
|
||||||
Perform(CM_ENABLEDCHANGED, 0, 0);
|
Perform(CM_ENABLEDCHANGED, 0, 0);
|
||||||
|
EnabledChanged;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -4098,6 +4113,18 @@ begin
|
|||||||
RemoveHandler(chtOnVisibleChanged,TMethod(OnVisibleChangedEvent));
|
RemoveHandler(chtOnVisibleChanged,TMethod(OnVisibleChangedEvent));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TControl.AddHandlerOnEnabledChanged(
|
||||||
|
const OnEnabledChangedEvent: TNotifyEvent; AsFirst: boolean);
|
||||||
|
begin
|
||||||
|
AddHandler(chtOnEnabledChanged,TMethod(OnEnabledChangedEvent),AsFirst);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TControl.RemoveHandlerOnEnableChanging(
|
||||||
|
const OnEnableChangingEvent: TNotifyEvent);
|
||||||
|
begin
|
||||||
|
RemoveHandler(chtOnEnabledChanged,TMethod(OnEnableChangingEvent));
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TControl.AddHandlerOnKeyDown(const OnKeyDownEvent: TKeyEvent;
|
procedure TControl.AddHandlerOnKeyDown(const OnKeyDownEvent: TKeyEvent;
|
||||||
AsFirst: boolean);
|
AsFirst: boolean);
|
||||||
begin
|
begin
|
||||||
|
Loading…
Reference in New Issue
Block a user