Показать сообщение отдельно
  #2  
Старый 21.04.2014, 21:28
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от hsMapk
Как реализовать плавный разворот окна(например из размера 1*1 пикселя до 100*100)чтоб оно как бы плавно расширялось.к примеру по нажатию на баттон.вопрос общий так что згодятся многие варианты.главное чтоб работало
Пример с использованием API-функции AnimateWindow:
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Form2.Visible := False;
  AnimateWindow(Form2.Handle, 500, AW_CENTER);
  Form2.Visible := True;
end;
Пример с использованием регионов:
Код:
procedure TForm1.Button2Click(Sender: TObject);
var
  i, w, h: Integer;
  rgn: HRGN;
begin
  for i := 1 to 100 do
  begin
    w := i * Form2.Width div 100;
    h := i * Form2.Height div 100;
    rgn := CreateRectRgn(0, 0, w, h);
    SetWindowRgn(Form2.Handle, rgn, True);
    Application.ProcessMessages;
    Sleep(5);
  end;
end;
Ответить с цитированием