Пытаюсь создать свой компонент. Оригинал того что хочу сделать громоздкий, поэтому упростил до минимума (ибо даже минимум не работает).
За базу нового компонента взял TLayout. В него добавил Rectangle. Хотел что бы при клике по Rectangle выходило сообщение через ShowMessage; Но реакции нету.
Вопрос
brunnengi
Здравствуйте.
Пытаюсь создать свой компонент. Оригинал того что хочу сделать громоздкий, поэтому упростил до минимума (ибо даже минимум не работает).
За базу нового компонента взял TLayout. В него добавил Rectangle. Хотел что бы при клике по Rectangle выходило сообщение через ShowMessage; Но реакции нету.
Вот код:
unit PayCardItemVer1Unit; interface uses System.SysUtils, System.Classes, FMX.Types, FMX.Controls, FMX.Layouts, FMX.Objects, System.UITypes, FMX.Graphics, FMX.Dialogs; type TPayCardItemVer1 = class(TLayout) private FRectangle1 : TRectangle; procedure rcClick(Sender: TObject); public constructor Create(AOwner: TComponent); override; destructor Destroy; override; end; procedure Register; implementation procedure Register; begin RegisterComponents('Samples', [TPayCardItemVer1]); end; { TPayCardItemVer1 } constructor TPayCardItemVer1.Create(AOwner: TComponent); begin inherited; FRectangle1 := TRectangle.Create(self); FRectangle1.Fill.Kind := TBrushKind.bkSolid; FRectangle1.Fill.Color := $FFFF78C9; FRectangle1.Align := TAlignLayout.alContents; FRectangle1.Parent := self; FRectangle1.HitTest := true; FRectangle1.OnClick := rcClick; end; destructor TPayCardItemVer1.Destroy; begin inherited; end; procedure TPayCardItemVer1.rcClick(Sender: TObject); begin ShowMessage('rc Click OK!'); end; end.Подскажите пожалуйста, что я не так делаю.
5 ответов на этот вопрос
Рекомендуемые сообщения