Delphi World - Плавное изменение высоты визуального компонента на примере TListBox
Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Плавное изменение высоты визуального компонента на примере TListBox

Автор: Novill
WEB-сайт: http://delphibase.endimus.com

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Плавное изменение высоты визуального компенента (пример на ListBox)

Изменение высоты визуального компенента от Min до Max шагом Step
с задержкой на шаге StepSleep миллисекунд. Понравилась краткость.

Зависимости: uses Windows,Classes,Forms,Controls, StdCtrls
Автор:       novill, 2novill@mail.ru
Copyright:   novill
Дата:        19 июля 2002 г.
***************************************************** }

procedure ListBoxFade(ListBox: TListBox; const Flag: Boolean;
  const Min, Max, Step, StepSleep: integer);
begin
  with ListBox do
  begin
    Height := Min + (1 - ord(Flag)) * (Max - Min);
    repeat
      Height := Height + (2 * ord(Flag) - 1) * Step;
      Sleep(StepSleep);
    until (Height <= Min) or (Height >= Max);
  end;
end;

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

implementation

{$R *.DFM}
var
  order: boolean;

procedure ListBoxFade(ListBox: TListBox; const Flag: Boolean;
  const Min, Max, Step, StepSleep: integer);
begin
  with ListBox do
  begin
    Height := Min + (1 - ord(Flag)) * (Max - Min);
    repeat
      Height := Height + (2 * ord(Flag) - 1) * Step;
      Sleep(StepSleep);
    until (Height <= Min) or (Height >= Max);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ListBoxFade(listbox1, order, 21, 105, 21, 10);
  order := not order;
end;

end.
Проект Delphi World © Выпуск 2002 - 2017
Автор проекта: Эксклюзивные курсы программирования