Советы по Delphi

         

Получение индекса компонента в списке родителя


Мне необходимо найти индекс компонента в родительском списке дочерних элементов управления. Я попытался модифицировать prjexp.dll, но без успеха. У кого-нибудь есть идеи?

Есть такая функция. Ищет родителя заданного компонента, перебирает список и возвращает индекс искомого компонента. Функция прошла многочисленные тесты и вполне работоспособна.

    { функция, возвращающая индекс искомого компонента в
списке родителя; возвращает -1 при отсутствии компонента } function IndexInParent(vControl: TControl): integer;
var
ParentControl: TWinControl; begin
{делаем "слепок" родителя через базовой класс на предмет доступности } ParentControl := TForm(vControl.Parent); if (ParentControl <> nil) then begin for Result := 0 to ParentControl.ControlCount - 1 do begin if (ParentControl.Controls[Result] = vControl) then Exit; end; end; { если мы уж попали в это место, то либо не найден компонент, либо компонент не имел родителя } Result := -1; end;
[000056]



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