![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
||||
|
||||
|
Здравствуйте, как нибудь можно реализовать красивое, плавное изменение формы? заранее благодарен
P.S. таймер не предлогать) |
|
#2
|
||||
|
||||
|
Вообще-то
Цитата:
P.S А при чем здесь таймер? Вопрос яснее пожалуйста, и обьяснение, чем таймер не устраивает. Если установить значение Interval таймера <10 то плавнее будет уже некуда. |
| Этот пользователь сказал Спасибо YVitaliy за это полезное сообщение: | ||
sariman (06.09.2012)
| ||
|
#3
|
||||
|
||||
|
я имею ввиду программно, например когда пытаюсь ширину формы сделать больше)
|
|
#4
|
|||
|
|||
|
Че сложного-то? Головой немного подумать всего-то надо...
Код:
procedure TForm1.MyResize(NewWidth : Integer);
var
I : Integer;
N : Integer;
S : Integer;
begin
N := Abs(NewWidth - Self.Width);
S := Sign(NewWidth - Self.Width);
For I := 1 To N Do
Begin
Self.Width := Self.Width + S;
Sleep(100); // <-- задержка
Application.ProcessMessages; // <-- обработать сообщения, чтоб все не висло
// Self.Update; // <-- иногда само не отрисовывается. тогда - раскоменнтировать.
End;
end;Последний раз редактировалось lmikle, 08.09.2012 в 10:05. |
| Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
sariman (06.09.2012)
| ||
|
#5
|
||||
|
||||
|
ругается на Sigh
|
|
#6
|
||||
|
||||
|
Поиск по папке Source, в будущем всегда выручит. Используй юнит Math.
|
| Этот пользователь сказал Спасибо angvelem за это полезное сообщение: | ||
sariman (06.09.2012)
| ||