![]() |
|
![]() ![]() ![]() |
|
Демидрол |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 7.6.2008 Где: СПб Репутация: нет Всего: нет |
Доброго времени суток Вам.
Помогите,пожалуйста соорудить компонент бегущей строки на основе класса TLabel. Не понимаю я как сделать так,чтобы у компонента было свойство "скорость прокрутки", как сделатьтак,чтобы текст двигался,как проверить,что если длина текста меньше длины Labelа,то он из бегущей строки превращается в обычный Label. Вот. Помогите,пожалуйста,а то чего-то никак ничего никуда..... ![]() |
|||
|
||||
Great Cornholio |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 19.6.2008 Репутация: 1 Всего: 1 |
Сам я в этом не разбираюсь, но данная статья описывает как раз этот пример. В этом пособии в коде символы вполне могут быть изменены(хз, каким образом), на подобные. И вообще я за эту статью не отвечаю.
Присоединённый файл ( Кол-во скачиваний: 15 ) ![]() |
|||
|
||||
Palladin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 932 Регистрация: 15.5.2007 Где: Беларусь г.Гомель Репутация: 3 Всего: 17 |
Label использу лишь для вывода бегущей строки! Отрисовывай в капшене лейбла. К примеру твой лейбл вмещает 200 символов, тогда вначале запускай цикл и записывай в лейбл 200 пробелов, потом 199 и первую букву твоего предложения, и т.д.
P.S. кустарный метод... -------------------- Глуп тот кто полагается на истину авторитета, а не на авторитет истины [color=red]KAV&KIS==Evil[/color] |
|||
|
||||
Демидрол |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 7.6.2008 Где: СПб Репутация: нет Всего: нет |
ммм....чего?
![]() Palladin, т.е в компоненте просто создать функцию,нп, ScrollName, и в ней получить длину текста в Caption и сделать цикл на столько пробелов??? эээээ...... Тупой тупак давит на мозг.... А как сделать,чтобы скорость прокрутки текста компонента можно было менять? Сделать отдельное свойство-это понятно.Но как,зная нужную скорость,менять скорость прокрутки? |
|||
|
||||
Rrader |
|
|||
Inspired =) ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1535 Регистрация: 7.5.2005 Репутация: 13 Всего: 191 |
Демидрол, кидаешь на форму TLabel и TTimer. Ставишь у таймера нужный тебе интервал - это и будет скорость. В OnTimer пишешь:
|
|||
|
||||
Демидрол |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 7.6.2008 Где: СПб Репутация: нет Всего: нет |
да-да-да,это все понятно....В сети много про это нашел.
Тока мне надо создать именно КОМПОНЕНТ БЕГУЩАЯ СТРОКА!!!! чтобы потом его много раз юзать в разных прога. Вот. И как это соорудить мозг не сооброжает. Помогите....................SOS!!!!! ![]() |
|||
|
||||
Palladin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 932 Регистрация: 15.5.2007 Где: Беларусь г.Гомель Репутация: 3 Всего: 17 |
что тебе мешает юзать в каждой проге это?
-------------------- Глуп тот кто полагается на истину авторитета, а не на авторитет истины [color=red]KAV&KIS==Evil[/color] |
|||
|
||||
Демидрол |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 7.6.2008 Где: СПб Репутация: нет Всего: нет |
Начальство ![]() Сижу,пыхчу как паровоз,че-то рожаю... Никто не знает,в чем косяк:
выдает ошибки: E2034 Cannot convert 'unsigned long (__stdcall * (_closure )(void *))(void *)' to 'unsigned long (__stdcall *)(void *)' и E2342 Type mismatch in parameter 'lpStartAddress' (wanted 'unsigned long (__stdcall *)(void *)', got 'void') В чем тут проблема? ![]() Это сообщение отредактировал(а) Демидрол - 17.7.2008, 12:14 |
||||
|
|||||
livo |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 14.10.2007 Репутация: 1 Всего: 1 |
Попробуй не тред, а апишную SetTimer, KillTimer. В нее передаеш как один из параметров колбэк функцию с твоим содержанием (будет вызываться с заданным тобой периодом). |
|||
|
||||
Rrader |
|
||||||
Inspired =) ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1535 Регистрация: 7.5.2005 Репутация: 13 Всего: 191 |
Вот, накидал:
*.h
*.cpp
Пример использования:
Это сообщение отредактировал(а) Rrader - 22.7.2008, 15:00 |
||||||
|
|||||||
LastAngel |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 18.4.2008 Репутация: нет Всего: нет |
||||
|
||||
Демидрол |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 7.6.2008 Где: СПб Репутация: нет Всего: нет |
Rrader,спасибо огромное за код.С небольшими исправлениями все зашуршало так,что не остановить.
![]() Меня интересует еще какой момент:как сделать,чтобы текст бежал через весь лабл,вне зависимости от размеров текста?Чето сидел,искал,пытался,но не понял.Заранее спасибо. ![]() |
|||
|
||||
LastAngel |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 18.4.2008 Репутация: нет Всего: нет |
Ну смотри если длина фразы меньше ширины лейбла, то дополняй оставшиеся места пробелами и усё ...
|
|||
|
||||
Демидрол |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 7.6.2008 Где: СПб Репутация: нет Всего: нет |
LastAngel,это понятно.Только длина текста в символах,а длина области хз в чем,и как их приравнять для меня загадка.
![]() И поэтому при растягивании лабла и при изменении размера шрифта(и просто при изменении шрифта) возникают траблы с отображением. Это сообщение отредактировал(а) Демидрол - 22.7.2008, 13:47 |
|||
|
||||
LastAngel |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 18.4.2008 Репутация: нет Всего: нет |
Ну ширина в пикселях мериется ... у лейбла есть свойство AutoSize если померить им реальную ширину лейбла поделить на количество буковок во фразе грубо получишь сколько пикселей одна буковка,потом узнаёшь заданную ширину ну и можно оценить сколько надо пробелов докинуть
1 пробел вроде 3 пикселя ... так что даже количество пикселей на буковку не надо считать, а только количество пиксов на свободное пространство Это сообщение отредактировал(а) LastAngel - 22.7.2008, 13:55 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |