Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- type
- TControlAccess = class(TControl)
- end;
- procedure TFormMain.FormCreate(Sender: TObject);
- var
- I: Integer;
- begin
- for I := 0 to ComponentCount - 1 do
- TControlAccess(Components[I]).OnMouseEnter := CustomGenericMouseEnter;
- end;
- uses
- ..., TypInfo;
- procedure TFormMain.FormCreate(Sender: TObject);
- var
- I: Integer;
- Comp: TComponent;
- Prop: PPropInfo;
- M: TMethod;
- begin
- TNotifyEvent(M) := CustomGenericMouseEnter;
- for I := 0 to ComponentCount - 1 do
- begin
- Comp := Components[I];
- Prop := GetPropInfo(Comp, 'OnMouseEnter', [tkMethod]);
- if Prop <> nil then
- SetMethodProp(Comp, Prop, M);
- end;
- end;
- uses
- ..., System.Rtti;
- procedure TFormMain.FormCreate(Sender: TObject);
- var
- I: Integer;
- Ctx: TRttiContext;
- Comp: TComponent;
- Prop: TRttiProperty;
- V: TValue;
- begin
- V := TValue.From<TNotifyEvent>(CustomGenericMouseEnter);
- for I := 0 to ComponentCount - 1 do
- begin
- Comp := Components[I];
- Ctx.GetType(Comp.ClassType).GetProperty('OnMouseEnter');
- if (Prop <> nil) and (Prop.Visibility in [TMemberVisibility.mvPublic, TMemberVisibility.mvPublished]) then
- Prop.SetValue(Comp, V);
- end;
- end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement