Цитата:
Сообщение от 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;