- Код: Выделить всё
TPanelBase = class(TPanel)
И несколько наследуемых
- Код: Выделить всё
TPanelLeft = class(TPanelBase)
TPanelMain = class(TPanelBase)
TPanelEnd = class(TPanelBase)
В обработчике мне нужно выловить только те компоненты формы, которые от TPanelBase.
Как непосредственно проверить, это ясно
- Код: Выделить всё
procedure TStart.TabSheet1Show(Sender: TObject);
var i: Integer;
begin
// Нарисовать схему
if Sender is TTabSheet then
for i := 0 to TTabSheet(Sender).ComponentCount-1 do begin
if (TTabSheet(Sender).Components[i] is TPanelLeft) or
(TTabSheet(Sender).Components[i] is TPanelMain) or
(TTabSheet(Sender).Components[i] is TPanelEnd) then begin
...
end;
end;
end;
А есть ли способ, чтобы проверить компонент, что он от базового типа?
В данном случае от TPanelBase.
Чтобы обойтись одной проверкой?