Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2008, 22:28   #1
Sinx
Новичок
Джуниор
 
Регистрация: 07.12.2008
Сообщений: 1
По умолчанию Бегущая строка в заголовке приложения (Delphi 7)

Нужно сделать бегущею строку в заголовке формы типа маятник.
Т.е заголовок доходит до конца и идет обратно.

x:string;
a:Boolean;
y,max:integer;
...
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if a=true then
begin
x:=' '+x;
y:=length(Form1.Caption);
Form1.Caption:=x;
if y=max then a:=false;
end;
if a=false then
begin
delete(x,1,1);
y:=length(Form1.Caption);
Form1.Caption:=x;
if y=50 then a:=true;
end;
end;

Проблема в том что этот код работает только при определенном размере формы. Если её увеличить то строка будет доходить не до конца. Надо как то мак. строки(max) связать с ClientWidth. Нужна помощь... Ну или мб есть другой разумный способ.

Последний раз редактировалось Sinx; 07.12.2008 в 22:55.
Sinx вне форума Ответить с цитированием
Старый 07.12.2008, 23:08   #2
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 05.11.2006
Сообщений: 665
По умолчанию

Как вариант - предлагаю прибавлять столько пробелов, сколько необходимо для правильного поведения маятника. Пробел, как символ, имеет размерность... Размер его, думаю, реально вычислить, даже если у нас не будет известен размер шрифта заранее.... Или можно помудрить с каким-нибудь скрытым лэйблом с параметром автосайз в тру... Размер лэйбла при наращивании меняется, как дошли до размера формы - удаляем пробелы. Можно помудрить с канвой - она, если мне не изменяет память, отдает в свойствах количество пикселей, необходимое для вывода того или иного текста.
Познавая других, мы познаем себя.
С'est la vie...
SuperVisor вне форума Ответить с цитированием
Старый 08.12.2008, 02:35   #3
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Попробуйте вот этот компонент. Он специально написан для таких целей: Scrlcaption.zip
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Строка состаяния или загрузачная строка Sergeu Мультимедиа в Delphi 8 27.08.2008 10:32
Бегущая строка и about Патрон Общие вопросы Delphi 12 02.06.2008 22:31
Рисунок в заголовке TabbedNotebook Aleksandr Общие вопросы Delphi 0 28.09.2007 16:03
"Бегущая строка" Канат Общие вопросы Delphi 6 24.12.2006 10:13