Я создал собственный элемент управления, унаследованный от TControl
, используя TPathData
для создания линий - он рисует собственный путь поиска пути для графического приложения, которое я создаю.В настоящее время я создал элемент управления и у меня есть путь, который отображается и свойства перерисовываются.
Унаследованные свойства, которые обеспечивают взаимодействие с мышью, не работают (например, OnClick
, OnMouseDown
), даже если я могу назначить обработчик событий OnClick
без ошибок времени выполнения.Обработчик просто никогда не вызывается.
Мой пользовательский элемент управления объявлен как:
TPathSegment = class (TControl)
...
с:
public
constructor Create(ACanvas: TCanvas; AObject: TControl; listsize:int32);
destructor Destroy; override;
...
procedure Paint; override;
Из вызывающей программы я создаю такой объект:
mypath := TPathSegment.Create(canvas,layout1,50);
mypath.HitTest := true;
mypath.Parent := layout1;
mypath.Onclick := MyPathOnClick;
mypath.pathThickness := 10;
mypath.AddSegment(PointF(100,150),TlineMove.mMT,'',TAlphaColorRec.Black
,TlineEnd.leRectangle,TAlphaColorRec.Blue,TStrokeDash.Solid);
Я ожидаю, что смогу щелкнуть нарисованную линию (определенную TPathData
) и обработать событие - но я не могу.