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

Sender as TRectangle


delcpy

Вопрос

Всем привет. Подскажите что делаю не так. Выходит ошибка Invalid class typecast.

1864027703_.png.d2047ff68406c832e3e53cd9645523e7.png

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,
  FMX.Controls.Presentation, FMX.StdCtrls;

type
  TForm1 = class(TForm)
    Switch: TSwitch;
    Rectangle: TRectangle;
    Selection: TSelection;
    procedure SwitchSwitch(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.fmx}

procedure TForm1.SwitchSwitch(Sender: TObject);
begin
  { (Sender as TSelection).HideSelection := not(Sender as TSelection).HideSelection;
    (Sender as TSelection).HitTest := not(Sender as TSelection).HitTest;
    (Sender as TRectangle).HitTest := not(Sender as TRectangle).HitTest; }

  if Switch.IsChecked = true then
  begin
    (Sender as TSelection).HideSelection := false;
    (Sender as TSelection).HitTest := true;
    (Sender as TRectangle).HitTest := false;
  end
  else
  begin
    (Sender as TSelection).HideSelection := true;
    (Sender as TSelection).HitTest := false;
    (Sender as TRectangle).HitTest := true;
  end;
end;

end.

 

Новая папка.zip

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

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

  • 0
1 час назад, Бука сказал:

Подскажите что делаю не так.

procedure TForm1.SwitchSwitch(Sender: TObject);
begin
  Selection.HideSelection := not Switch.IsChecked;
  Selection.HitTest := Switch.IsChecked;
  Rectangle.HitTest := not Switch.IsChecked;
end;

Sender в данном случае это TSwitch... нельзя его к чему попало приводить (к TRectangle или TSelection) если очень хочется, то можно к TControl... но всеравно вы обратитесь к объекту Switch но никак не к Rectangle или Selection...

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

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

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

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

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

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

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

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

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

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

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