Форум: "Начинающим";
Текущий архив: 2008.03.09;
Скачать: [xml.tar.bz2];
Внизtimer+forma Найти похожие ветки
← →
Петр (2008-02-11 11:29) [0]как сделать чтобы форма плавно выезжала, через таймер както не очень выглядит....
procedure TForm1.Timer2Timer(Sender: TObject);
begin
repeat
form1.Top := Form1.Top -1;
until (form1.Top = -form1.Height);
Timer2.Enabled := false;
end;
← →
Dib@zol © (2008-02-11 11:34) [1]Поставь у таймера задержку поменьше. Хотя то, что ты хочешь сотворить, имхо, дурь :) Впрочем, сам так один раз делал :) Поэтому предупреждаю: если будешь также сворачивать, юзай ClientHeight а не просто Height. Иначе рискуешь, что на другом компе окно просто не "свернётся", а грациозно уплывёт вниз из-за того, что слишком большой заголовок окна помешает окну достичь "пороговой" для завершения проги высоты %)
← →
Петр (2008-02-11 12:01) [2]спасибо за совет, а других вариантов нету,по "выползанию" формы?
← →
Петр (2008-02-11 12:04) [3]просто пока форма двигается то контролы немного глючат(как то мерцают),когда прячется то сама чуток дергается форма :(
мне кажется надо как то иначе делать...
← →
Dib@zol © (2008-02-11 12:11) [4]Ну напр возникновение по частям, щас сбацаю исходник.
← →
АИК (2008-02-11 12:12) [5]А зачам repeat until в таймере непойму
form1.Top := Form1.Top -1;
if form1.Top = -form1.Height then
Timer2.Enabled := false;
← →
АИК (2008-02-11 12:21) [6]Кстати для хорошего эфекта интервал у таймере сделай наприер 10 и
form1.Top := Form1.Top -5;
if form1.Top = -form1.Height then
Timer2.Enabled := false;
← →
Anatoly Podgoretsky © (2008-02-11 12:33) [7]> Петр (11.02.2008 12:01:02) [2]
Не через таймер делай, а через sleep
← →
Dib@zol © (2008-02-11 14:00) [8]тэкс, вот пример "собирания из кусочков".
http://webfile.ru/1736947
Все вопросы - сюда.
Только, боюсь, на VCL это не прокатит...
← →
Петр (2008-02-11 14:57) [9]спасибо поразбираюсь с этим!
← →
Elec3C © (2008-02-11 18:46) [10]Попробуй при выезжании выключить перерисовку формы, а затем включить обратно.
procedure TForm1.Timer2Timer(Sender: TObject);
begin
LockWindowUpdate(Form1.Handle);
repeat
form1.Top := Form1.Top -1;
until (form1.Top = -form1.Height);
Timer2.Enabled := false;
LockWindowUpdate(0);
end;
P.S. Не проверял...
← →
Palladin © (2008-02-11 18:49) [11]
> [10] Elec3C © (11.02.08 18:46)
и что это за бред?
1 LockWindowUpdate заблокирует отрисовку окна вообще, независимо от изменений его размера
2 А не приходило ли твоему гениальному мозгу в голову целесообразность использования таймера, нафик он вообще?
3 так моежт будем вдумываться в код прежде чем ерундистику писать?
← →
Elec3C © (2008-02-11 21:01) [12]
> Palladin ©
У меня прекрасно работает.
> целесообразность использования таймера
[0]
← →
{RASkov} © (2008-02-11 21:43) [13]> [12] Elec3C © (11.02.08 21:01)
> У меня прекрасно работает.
Спрашивается: Зачем цикл в обработчике таймера.... или зачем вообще таймер, если делаем циклом.....
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.03.09;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.051 c