описываю функцию на лазарусе
function btn_anim(Sender:TObject, i:integer):boolean;
beign
if i = 1 then
begin
TPanel((Sender as TImage).Parent).Color:=clWhite;
end ELSE
begin
TPanel((Sender as TImage).Parent).Color:=clWhite;
end;
end;
как сделать так чтобы не приводить сендер к классу т имейдж, потому что он может быть и лейбл и панел, ну то есть чтобы он автоматически определял класс, класс TComponent не обладает свойством парент и TObject тоже помогите плиз #программирование
Вы уверены , что на том форуме пишете?
)) представила невольно привидение целого класса... Не дай бог)) хотя к концу учебного года многим учителям ага, мерещится уже.
Через оператор is ты можешь проверить является ли Sender экземпляром указанного класса или его потомком. Sender is TImage - истина, если это Image и дальше перебираешь свои варианты
Через оператор is ты можешь проверить является ли Sender экземпляром указанного класса или его потомком. Sender is TImage - истина, если это Image и дальше перебираешь свои варианты
дык я то хочу как раз без этого чтобы код в одну строчку)
if Sender.ClassName = 'TImage' then
begin
TPanel((Sender as TImage).Parent).ParentBackground:=true;
end;
if Sender.ClassName = 'TPanel' then
begin
TPanel(Sender).ParentBackground:=true;
end;
if Sender.ClassName = 'TLabel' then
begin
TPanel((Sender as TLabel).Parent).ParentBackground:=true;
end;