Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Массив компонентов 3

Delphi , Синтаксис , Массивы

Массив компонентов 3

Часто возникают вопросы о работе с массивом компонентов. вот пример того как вывести список имен всех компонентов в приложении.

Code:

procedure TForm1.Button1Click(Sender : TObject);
{©Drkb v.3(2007): www.drkb.ru}
var i : integer;
begin
ListBox1.Items.Clear;
for i:=0 to ComponentCount-1 do ListBox1.Items.Add(Components[i].Name);
end;

для поиска конкретного компонента по его имени используйте метод формы - FindComponent.

для поиска вишестоящего компонента воспользуйтесь функцией - FindGlobalComponent.

Примечание: в Delphi некоторые компоненты сами по себе являются контейнерами компонентов (GroupBox, Panel, PageControl, Form). В этом случаэ контейнер является родителем этих компонентов (Parent), а форма их владельцем (Owner). Для перехода по дочерних компонентах можно воспользоваться свойством Controls родителя компонентов. А для перехода независимо от родителя - используйте свойство Controls формы.

Смена владельца:

свойство Owner - только для чтения, поэтому изменить его нельзя. Владелец устанавливается в ходе создания. Нестоит попросту изменять владельца или имя компонента. Но если есть такая необходимость можно воспользоватся методами: InsertComponent и RemoveComponent самого владельца. Эти методы нельзя применять в обработчике события формы.

Решение задачи:

Code:

procedure ChangeOwner( Component, NewOwner : TComponent);
begin
Component.Owner.RemoveComponent(Component);
NewOwner.InsertComponent(Component);
end;

пример использования:

Code:

procedure TForm1.ButtonChangeClick(Sender : TObject);
begin
if Assigned(Button1) then
  begin
    Button1.Parent:=Form2;
    ChangeOwner(Button1. Form2);
 end;
end;

Автор: RoboSol.

Взято из http://forum.sources.ru

В статье описывается как работать с массивом компонентов в приложении Delphi, включая поиск и изменение владельца компонента.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Массивы ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 11:30:15/0.0055239200592041/1