Цитата:
Сообщение от hsMapk
Как реализовать плавный разворот окна(например из размера 1*1 пикселя до 100*100)чтоб оно как бы плавно расширялось.к примеру по нажатию на баттон.вопрос общий так что згодятся многие варианты.главное чтоб работало
|
Пример с использованием API-функции AnimateWindow:
Код:
1 2 3 4 5 6 | procedure TForm1 . Button1Click(Sender: TObject);
begin
Form2 . Visible := False ;
AnimateWindow(Form2 . Handle, 500 , AW_CENTER);
Form2 . Visible := True ;
end ;
|
Пример с использованием регионов:
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 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 ;
|