Советы по Delphi

         

Как определить, имеет ли определенный компонент какое-либо свойство?


Своим кодом делится Олег Кулабухов:

    function HasProperty(Obj : TObject;
Prop : string) : PPropInfo;
begin
Result := GetPropInfo(Obj.ClassInfo, Prop);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
p : pointer;
begin


p := HasProperty(Button1, 'Color');
if p <> nil then
SetOrdProp(Button1, p, clRed) else
ShowMessage('Button has no color property');

p := HasProperty(Label1, 'Color');
if p <> nil then
SetOrdProp(Label1, p, clRed) else
ShowMessage('Label has no color property');

p := HasProperty(Label1.Font, 'Color');
if p <> nil then
SetOrdProp(Label1.Font.Color, p, clBlue) else
ShowMessage('Label.Font has no color property');
end;

[001913]



Содержание раздела