На главную
Подписка
Новости


Рейтинг@Mail.ru











Главная / DELPHI / Часто задаваемые вопросы и ответы на них / Пользовательский интерфейс / Как поменять свойство ReadOnly у всех компонентов формы Сделать домашней страницей Добавить в избранное Написать писмо

Как поменять свойство ReadOnly у всех компонентов формы


использовались сырцы RXLib и RTTI из дельфей обязательно в uses TypInfo;


procedure TForm1.Button1Click(Sender: TObject);
procedure SetReadOnly(Obj:TComponent;Value :boolean);
var
PropInfo: PPropInfo;
valueInteger : integer;
begin
if Value then valueInteger:=1 else valueInteger:=0;
if not (Obj.ClassInfo=nil) then
begin
PropInfo:= GetPropInfo(Obj.ClassInfo, 'ReadOnly');
if PropInfo <> nil then
begin
case PropInfo^.PropType^.Kind of
tkEnumeration :
SetOrdProp(obj,PropInfo,valueInteger);
end; // case
end;
end;

end;
var
i : integer;
f : boolean;
begin
f := CheckBox1.Checked;
// побежали по всем компоенентам
for i:= 0 to ComponentCount-1 do
begin
SetReadOnly(Components[i],f);
end;

end;



Copyright ©   "Мастера DELPHI"   E-mail:   delphi@mastak.com  http://www.delphimaster.ru
Источник получения информации: http://www.delphimaster.ru
Hosted by uCoz