36 / 36 / 6
Регистрация: 20.03.2011
Сообщений: 331
|
|
1 | |
Бегущая строка моргает (label)07.02.2012, 13:34. Показов 3912. Ответов 7
Метки нет Все метки)
(
Хочу сделать бегущую строку.
Создаю таймер. И по таймеру двигаю текст в label. Проблема в том что если в label размер букв очень большой то при перемещении он начинает моргать. Подскажите как от этого избавиться. Может можно это как нибудь по другому реализовать?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
|
|
07.02.2012, 13:34 | |
Ответы с готовыми решениями:
7
бегущая строка Бегущая строка
Уменьшающаяся бегущая строка |
Практикантроп
4741 / 2647 / 512
Регистрация: 23.09.2011
Сообщений: 5,678
|
|
07.02.2012, 13:39 | 2 |
- тонкостей не знаю, но иногда от двойной прорисовки уходят, изменив свойство компонента DoubleBuffering с false на true
1
|
36 / 36 / 6
Регистрация: 20.03.2011
Сообщений: 331
|
|
07.02.2012, 13:41 [ТС] | 3 |
Увы, все равно моргает(
0
|
Практикантроп
4741 / 2647 / 512
Регистрация: 23.09.2011
Сообщений: 5,678
|
|
07.02.2012, 13:42 | 4 |
- а кому это свойство меняли?
0
|
36 / 36 / 6
Регистрация: 20.03.2011
Сообщений: 331
|
|
07.02.2012, 13:50 [ТС] | 5 |
![]() ![]() Единственная идея которая пришла в голову создать очень большого размера форму и двигать ее. Но не хотелось бы так делать!
0
|
288 / 229 / 27
Регистрация: 13.06.2010
Сообщений: 744
|
||||||
07.02.2012, 14:03 | 6 | |||||
Тоже ставил перед собой подобную задачу.
Суть и отличия: Текст выводился в PaintBox Размер текста был не большой - 12 Текст ужасно моргал(Timer Interval установлен в 1) Решил так: Изначально прорисовка происходила в OnTimer Перенес код вывода в PaintBox::Repaint() а обработчик OnTimer принял следующий вид:
2
|
![]() 3949 / 1804 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
|
||||||
07.02.2012, 14:18 | 7 | |||||
nikitapel, вы основной форме назначьте DoubleBuffered.
Проверьте сами. Создайте новый проект, на форму забросьте компоненты классов TLabel и TTimer. Размер шрифта установите побольше (например, 60). Интервал таймера установите равным 10 мс. И в обработчике OnTimer задайте траекторию:
А теперь установите DoubleBuffered (для Form1) в true.
3
|
36 / 36 / 6
Регистрация: 20.03.2011
Сообщений: 331
|
|
07.02.2012, 14:20 [ТС] | 8 |
MikeSoft спасибо большое!
![]() ![]()
0
|
07.02.2012, 14:20 | |
Помогаю со студенческими работами здесь
8
Не правильная бегущая строка Бегущая строка. Нужно выполнить в форме (Form), с кнопками и т.п Бегущая строка
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |