скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Плавное изменение высоты визуального компонента на примере TListBox



Автор: Novill

{ **** 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.





Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook