Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
15-1201722950
Марсер
2008-01-30 22:55
2008.03.09
Бесплатный прокси-сервер для обеспечения ноутбука Инетом


3-1192802734
Vendict
2007-10-19 18:05
2008.03.09
создание DNS для Oracle


2-1202681612
Artem
2008-02-11 01:13
2008.03.09
Динамически созданный Memo на PageControl


2-1202642822
oleg_teacher
2008-02-10 14:27
2008.03.09
Stringgrid


2-1202720850
lead-in
2008-02-11 12:07
2008.03.09
проблема с Socket`ами





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский