![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | 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)
| ||
|
#7
|
||||
|
||||
|
использовал math, результата 0
|
|
#8
|
||||
|
||||
|
там ошибка, нужно sign а не sigh, все пашет) спасибо) однако не очень плавное)
|
|
#9
|
||||
|
||||
|
Уменьши нарастание/убавление на нужную величину, поиграйся с параметром Sleep.
|
| Этот пользователь сказал Спасибо angvelem за это полезное сообщение: | ||
sariman (06.09.2012)
| ||
|
#10
|
||||
|
||||
|
ок, спасибо, еще есть вопрос, возможно ли сделать label полупрозрачным?
|
|
#11
|
||||
|
||||
|
КрасЯвости нравятся?
Попробуй AlphaSkins (или как там пишется правильно). |
| Этот пользователь сказал Спасибо angvelem за это полезное сообщение: | ||
sariman (07.09.2012)
| ||
|
#12
|
||||
|
||||
|
о даа нравится)) юзал AlphaSkins подобного там нету) и вообще не хочу использовать компоненты, большинство корявые и весят много
|
|
#13
|
||||
|
||||
|
Тогда пиши свои.
|
| Этот пользователь сказал Спасибо angvelem за это полезное сообщение: | ||
sariman (07.09.2012)
| ||
|
#14
|
||||
|
||||
|
Сам тогда пиши компоненты. Если немного переделать орикинальный TLabel, то можно многое сделать. И прозрачность в том числе.
|
| Этот пользователь сказал Спасибо YVitaliy за это полезное сообщение: | ||
sariman (07.09.2012)
| ||
|
#15
|
||||
|
||||
|
нету опыта в создании своих компонентов, юзал гугл, нашел WPF, но как я понимаю, пишется на другом языке
|