Мигает Label при передвижении

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Watts[]n!
Постоялец
Постоялец
 
Сообщения: 573
Зарегистрирован: 11.02.2007 (Вс) 0:19

Мигает Label при передвижении

Сообщение Watts[]n! » 08.07.2007 (Вс) 23:35

Всем доброго времени суток!
Столкнулся с такой проблемой: Двигаю Label по форме, код:

Код: Выделить всё
Private Sub tmrScroll_Timer()
    Label1.Move Label1.Left, Label1.Top - 10, Label1.Width, Label1.Height
    If Label1.Top <= -5100 Then Label1.Move Label1.Left, 4500, Label1.Width, Label1.Height
End Sub


Interval у Timer'a равен 20.
При этом создается субъективное впечатление, что он "мигает", причем как бы по горизонтали появляются полоски =)

В чем же дело? :scratch:

EUGY
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 214
Зарегистрирован: 09.11.2006 (Чт) 22:51
Откуда: Мурманск

Сообщение EUGY » 08.07.2007 (Вс) 23:47

Может быть потому, что label не окно, и на него не распространяется WS_CLIPCHILDREN.

А может и нет. :D

Crio
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 84
Зарегистрирован: 21.05.2007 (Пн) 12:01
Откуда: Питер

Сообщение Crio » 09.07.2007 (Пн) 0:23

На мой взгляд, Label1 не успевает отрисовываться. Попробуй напрямую указывать Label1.Top. Будет немного быстрее...
Последний раз редактировалось Crio 09.07.2007 (Пн) 0:39, всего редактировалось 1 раз.

Watts[]n!
Постоялец
Постоялец
 
Сообщения: 573
Зарегистрирован: 11.02.2007 (Вс) 0:19

Сообщение Watts[]n! » 09.07.2007 (Пн) 0:27

Спасибо! Обязательно попробую!

Crio
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 84
Зарегистрирован: 21.05.2007 (Пн) 12:01
Откуда: Питер

Сообщение Crio » 09.07.2007 (Пн) 0:39

Или совсем другой вариант: отрисуй с помощью Print текст на PictureBox и двигай уже его.

Добавлено: Или помести сам Label прямо в PictureBox.
Последний раз редактировалось Crio 09.07.2007 (Пн) 7:20, всего редактировалось 1 раз.

SSecurity
Служба безопасности
Аватара пользователя
 
Сообщения: 1283
Зарегистрирован: 19.08.2003 (Вт) 1:11
Откуда: Россия, Мурманск

Сообщение SSecurity » 09.07.2007 (Пн) 1:15

Как показала практика PictureBox.Print действительно мигать не будет .... молодец Crio!

Ты там не бегущую строку делаешь?

С Уважением,
Сергей
Программист - это маленький Бог, а все его ошибки - это самостоятельные творения:)
Так задумано:)

Watts[]n!
Постоялец
Постоялец
 
Сообщения: 573
Зарегистрирован: 11.02.2007 (Вс) 0:19

Сообщение Watts[]n! » 09.07.2007 (Пн) 10:30

SSecurity писал(а):Ты там не бегущую строку делаешь?

Что-то вроде титров к фильму :D

Crio, спасибо, помогло, теперь не мигает!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Google-бот, Majestic-12 [Bot] и гости: 89

    TopList