Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Изменение размера и положения контролов в Run-Time


Автор: lukas 5.12.2007, 20:14
У Многих часто возникает желание реализовать визуальную среду редактирования в своих программах для разных целей, хочу вам представить компонент для этих целей.

Я не являюсь автором данного компонента, но внес в исходники кое-какие дополнительные возможности и изменения, которых явно не хватало.

Основные методы и свойства:

GridSize - размерность сетки для перемещения и изменения размеров + рисование сетки

Чтобы добавить компоненты с формы используйте следующие функции... или добавляйте по одному вручную...

Код

procedure RegComponents(aParent: TWinControl; SizeCtrl: TSizeCtrl);
var
  i: integer;
begin
  for i := 0 to aParent.ControlCount -1 do
  begin
    if aParent.Controls[i].Tag = 0 then
      SizeCtrl.RegisterControl(aParent.Controls[i]);
    if aParent.Controls[i] is TWinControl then
      RegComponents(TWinControl(aParent.Controls[i]), SizeCtrl);
  end;
end;

procedure UnregComponents(aParent: TWinControl; SizeCtrl: TSizeCtrl);
var
  i: integer;
begin
  for i := 0 to aParent.ControlCount -1 do
  begin
    SizeCtrl.UnRegisterControl(aParent.Controls[i]);
    if aParent.Controls[i] is TWinControl then
      UnregComponents(TWinControl(aParent.Controls[i]), SizeCtrl);
  end;
end;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)