Uses TypInfo;
procedure DisableThem(Comps: array of TComponent);
var
Loop: Integer;
PropInfo: PPropInfo;
begin
for Loop := Low(Comps) to High(Comps) do
begin
{ Get info record for Enabled property }
PropInfo := GetPropInfo(Comps[Loop].ClassInfo, 'Enabled');
{ If property exists, set value to False }
if Assigned(PropInfo) then
SetOrdProp(Comps[Loop], PropInfo, Longint(False));
end;
end;
当然,你也可以用此方法推演出修改继承于TComponent类的任何属性