Показать сообщение отдельно
  #2  
Старый 29.03.2019, 06:34
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну, если в 2х словах, то примерно так:
Перебираешь ВСЕ имаджи. Если текущий не пустой, то пропускаешь его.
Если пустой, то проверяешь координаты. Если меньше, чем у уже выбранного, то запоминаешь новый.
Код пишу прямо тут, так что могу что-то напутать в названиях свойств и методов:
Код:
var
  I : Integer;
  TopImg : TImage;
begin
  TopImg := Nil;
  For I := 0 To ScrollBox1.ComponentCount-1 Do
    If ScrollBox1.Components[i] Is TImage Then
      Begin
        If (ScrollBox1.Components[i] As TImage).IsEmpty Then
          Begin
            If TopImg = Nil
              Then TopImg := ScrollBox1.Components[i] As TImage
              Else
                If (ScrollBox1.Components[i] As TImage).Top < TopImg.Top
                  Then TopImg := ScrollBox1.Components[i] As TImage
          End;
      End;
Ответить с цитированием