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

Последний вариант выглядит наиболее привлекательным, но довольно сложен в практической реализации.
...
Рейтинг: 0 / 0
Бегущая строка
    #32331765
Crip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если нужно показывать картинку , то проще всего положить ActiveX проигрывающий AVI. Только надо обязательно выставить
_VFP.AutoYield = .T. , чтобы картинка перерисовывалась
...
Рейтинг: 0 / 0
Бегущая строка
    #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
Бегущая строка
    #32331914
Crip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В этом случае надо не забывать вставлять DoEvents()
...
Рейтинг: 0 / 0
Бегущая строка
    #32552233
Фотография HalK2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В таймере:

WITH Thisform.label1
.left=.left-1
IF .left=-780
.left=504 && Взависимости от ширины формы .left=.left-1
ENDIF
ENDWITH
Сделай интервал 20 и получается довольно плавно
...
Рейтинг: 0 / 0
Бегущая строка
    #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
Бегущая строка
    #32595687
BeeTLe.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
кто нибудь знает как бегать в другую сторону?
...
Рейтинг: 0 / 0
Бегущая строка
    #32595960
Хочу отметить, что использование таймеров имеет некоторое ограничение. Использование на форме нескольких таких бегающих лэйблов, каждая со своим таймером, может привести к подвисанию (ограничения винда на количество запущенных таймеров).
...
Рейтинг: 0 / 0
Бегущая строка
    #32596042
BeeTLe.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
мне много не надо мне только один lable нужен
...
Рейтинг: 0 / 0
Бегущая строка
    #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
Бегущая строка
    #32596911
Guest_222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а по моему, он как бегал влево так и бегает, и нет никаких изменений.....
...
Рейтинг: 0 / 0
Бегущая строка
    #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
13 сообщений из 13, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Бегущая строка
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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