Перейти к содержанию
Fire Monkey от А до Я
  • 0

[TPath] Как закрыть путь?


brunnengi

Вопрос

Здравствуйте.
Кинул TPath. Размер 100 на 100.
Рисую путь (черный цвет на рисунке). Повесил на TPath события: OnMouseEnter и OnMouseLeave;
События срабатывают как при наведении на черную линию, так и на красную область (подкрасил чтобы было понятно).
Как создать такую ломанную что бы события мыши не срабатывали при входе в красную зону, а только при наведении на черную линии?
Ну за исключением самого очевидного варианта - замкнуть линию обратным ходом.
Может есть какое-то правильное решение?

 

 

image.png.c0d3857461d416fd2820ac0b97f7e75d.png

Изменено пользователем brunnengi
Ссылка на комментарий

Рекомендуемые сообщения

  • 0
4 часа назад, OnePeople сказал:

Напишите полный код что за куски? Так быстрее будет понятно что не так

unit Unit1;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.Objects;

type
  TForm1 = class(TForm)
    Path1: TPath;
    procedure FormCreate(Sender: TObject);
    procedure Path1MouseEnter(Sender: TObject);
    procedure Path1MouseLeave(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.fmx}

procedure TForm1.FormCreate(Sender: TObject);
begin
  path1.Data.Clear;
  path1.Data.MoveTo(TPointF.Create(0, 0));
  path1.Data.LineTo(TPointF.Create(50, 0));
  path1.Data.LineTo(TPointF.Create(50, 50));
end;

procedure TForm1.Path1MouseEnter(Sender: TObject);
begin
  Path1.Stroke.Thickness := 5;
end;

procedure TForm1.Path1MouseLeave(Sender: TObject);
begin
  Path1.Stroke.Thickness := 1;
end;

end.

 

 

Полный код.

 

Ссылка на комментарий
  • 0
4 часа назад, OnePeople сказал:

А такое дальше не идёт Path1.Data.ClosePath? 

Если есть, уберите.

Нет, не идет.
ClosePath замыкает последнюю точку с начальной, формирую замкнутую фигуру.
 

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...