Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Бегущая строка / 13 сообщений из 13, страница 1 из 1
21.11.2003, 16:16
    #32331713
Stiva
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бегущая строка
Добрый вечер!
Ребята, как-нибудь можно организовать бегущую строку в форме, только SCREENSAVER мне не нужен. НЕобходимо чтобы работа приложения не прерывалась, а в это время на экране показывалась строка или может какая-нибудь картинка.
Спасибо!
...
Рейтинг: 0 / 0
21.11.2003, 16:49
    #32331759
Crip
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бегущая строка
Вот несколько вариантов на вскидку.
1) Перемещение строки по таймеру
2) Если текст строки фиксирован то можно использовать анимированный
GIF или AVI
3) Написать COM-объект на С++ запускающий поток, который будет перерисовывать строку или вызывать соответствующий метод в VFP.

Последний вариант выглядит наиболее привлекательным, но довольно сложен в практической реализации.
...
Рейтинг: 0 / 0
21.11.2003, 16:52
    #32331765
Crip
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бегущая строка
Если нужно показывать картинку , то проще всего положить ActiveX проигрывающий AVI. Только надо обязательно выставить
_VFP.AutoYield = .T. , чтобы картинка перерисовывалась
...
Рейтинг: 0 / 0
21.11.2003, 17:37
    #32331828
bdv9
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бегущая строка
Создай класс на основе Container включи Label (lblRunLine) и Timer.
В методе Timer:
Код: plaintext
1.
2.
3.
4.
5.
6.
With This.Parent
If .lblRunLine.Left < .Width
.lblRunLine.Left = .lblRunLine.Left +  1 
Else
.lblRunLine.Left = -.lblRunLine.Width
EndIf
EndWith

Теперь кидаешь контейнер на форму и готово (можно менять длину контейнера, интервал таймера).
Могу выслать (у меня есть готовый класс).
...
Рейтинг: 0 / 0
21.11.2003, 19:04
    #32331914
Crip
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бегущая строка
В этом случае надо не забывать вставлять DoEvents()
...
Рейтинг: 0 / 0
08.06.2004, 12:43
    #32552233
HalK2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бегущая строка
В таймере:

WITH Thisform.label1
.left=.left-1
IF .left=-780
.left=504 && Взависимости от ширины формы .left=.left-1
ENDIF
ENDWITH
Сделай интервал 20 и получается довольно плавно
...
Рейтинг: 0 / 0
07.07.2004, 03:10
    #32592443
BeeTLe.ru
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бегущая строка
2 bdv9

bdv9
Код: plaintext
1.
2.
3.
4.
5.
6.
With This.Parent
If .lblRunLine.Left < .Width
.lblRunLine.Left = .lblRunLine.Left +  1 
Else
.lblRunLine.Left = -.lblRunLine.Width
EndIf
EndWith



а ч тоб строка бежала в другую сторону
...
Рейтинг: 0 / 0
08.07.2004, 15:10
    #32595687
BeeTLe.ru
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бегущая строка
кто нибудь знает как бегать в другую сторону?
...
Рейтинг: 0 / 0
08.07.2004, 16:36
    #32595960
Бегущая строка
Хочу отметить, что использование таймеров имеет некоторое ограничение. Использование на форме нескольких таких бегающих лэйблов, каждая со своим таймером, может привести к подвисанию (ограничения винда на количество запущенных таймеров).
...
Рейтинг: 0 / 0
08.07.2004, 17:10
    #32596042
BeeTLe.ru
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бегущая строка
мне много не надо мне только один lable нужен
...
Рейтинг: 0 / 0
08.07.2004, 17:41
    #32596134
BeeTLe.ru
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бегущая строка
а то что подтормаживают, это да!

я сделал чтоб в другую сторону бегал но чето немножко глючит:

Код: plaintext
1.
2.
3.
4.
5.
6.
With This.Parent
  If .txtPLay.Left!=-.txtPLay.Width
    .txtPLay.Left = .txtPLay.Left -  1 
  Else
    .txtPLay.Left =.Width- 2 
  EndIf
EndWith
...
Рейтинг: 0 / 0
09.07.2004, 11:49
    #32596911
Guest_222
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бегущая строка
а по моему, он как бегал влево так и бегает, и нет никаких изменений.....
...
Рейтинг: 0 / 0
10.07.2004, 01:49
    #32598392
BeeTLe.ru
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бегущая строка
2 Guest_222

ну правильно теперь он бегает влего а бегал вправо :)

влего :
Код: plaintext
1.
2.
3.
4.
5.
6.
With This.Parent
  If .txtPLay.Left!=-.txtPLay.Width
    .txtPLay.Left = .txtPLay.Left -  1 
  Else
    .txtPLay.Left =.Width- 2 
  EndIf
EndWith

вправо :
Код: plaintext
1.
2.
3.
4.
5.
6.
With This.Parent
If .lblRunLine.Left < .Width
.lblRunLine.Left = .lblRunLine.Left +  1 
Else
.lblRunLine.Left = -.lblRunLine.Width
EndIf
EndWith
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Бегущая строка / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]