Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  4 826

•  TDictionary Custom Sort  6 819

•  Fast Watermark Sources  6 600

•  3D Designer  9 562

•  Sik Screen Capture  6 940

•  Patch Maker  7 388

•  Айболит (remote control)  7 335

•  ListBox Drag & Drop  6 193

•  Доска для игры Реверси  98 179

•  Графические эффекты  7 506

•  Рисование по маске  6 791

•  Перетаскивание изображений  5 647

•  Canvas Drawing  6 026

•  Рисование Луны  5 818

•  Поворот изображения  5 268

•  Рисование стержней  3 861

•  Paint on Shape  3 017

•  Генератор кроссвордов  3 972

•  Головоломка Paletto  3 150

•  Теорема Монжа об окружностях  3 986

•  Пазл Numbrix  2 633

•  Заборы и коммивояжеры  3 444

•  Игра HIP  2 360

•  Игра Go (Го)  2 278

•  Симулятор лифта  2 676

•  Программа укладки плитки  2 236

•  Генератор лабиринта  2 791

•  Проверка числового ввода  2 396

•  HEX View  2 732

•  Физический маятник  2 424

 
скрыть

Delphi Sources

Как изменить значение свойства компонента по имени



Автор: lmc-mediaagentur.de

function GetProperty(AControl: TPersistent; AProperty: string): PPropInfo;
var
  i: Integer;
  props: PPropList;
  typeData: PTypeData;
begin
  Result := nil;
  if (AControl = nil) or (AControl.ClassInfo = nil) then
    Exit;
  typeData := GetTypeData(AControl.ClassInfo);
  if (typeData = nil) or (typeData^.PropCount = 0) then
    Exit;
  GetMem(props, typeData^.PropCount * SizeOf(Pointer));
  try
    GetPropInfos(AControl.ClassInfo, props);
    for i := 0 to typeData^.PropCount - 1 do
    begin
      with Props^[i]^ do
        if (Name = AProperty) then
          result := Props^[i];
    end;
  finally
    FreeMem(props);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  propInfo: PPropInfo;
begin
  PropInfo := GetProperty(Button1.Font, 'Name');
  if PropInfo <> nil then
    SetStrProp(Button1.Font, PropInfo, 'Arial');
end;




Похожие по теме исходники

Расширение компонента TEdit

Гадание по имени