![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 09.08.2011
Сообщений: 12
|
![]() Код:
___________ Код нужно оформлять по правилам: тегом [CODE]..[/СODE] (кнопочка на панели форматирования с решёточкой #) Не забывайте об этом! Модератор. Последний раз редактировалось Serge_Bliznykov; 20.09.2013 в 13:39. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,527
|
![]()
НЕ рисовать (не использовать Canvas) в таймере.(тем более в двух!)
точнее не рисовать ВНЕ обработчика OnPaint. если по результатам обработки НАДО обновить картинку(форму), использовать Invalidate. А в рисовании (OnPaint) не грузить(читать) файлы. Все сделать с точностью до наоборот. В таймере прочитать файл, проанализировать, принять решение и послать(или не послать) сообщение о перерисовке (вызвать Invalidate) а еще лучше если для (прочитать/проанализировать...) будет своя процедура (или даже функция) котрую мы сможем вызывать из обработчика OnTimerXX. после этого (Invalidate) будет вызвана процедура рисования, которая "знает"про DoubleBuffered и умеет им пользоваться . В ходе оной будет вызван обработчик OnPaint который воспользуется данными полученными в обработчике таймеров и вы все увидите.
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 20.09.2013 в 13:02. |
![]() |
![]() |
![]() |
#3 | ||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,527
|
![]() Цитата:
Код:
так тот вызов что у вас не сработает (правильно) при общем обработчике! тем более что это внешние (от другой формы) кнопки. Кто сказал что там нет и никогда не будет такого общего обработчика которому надо ТОЧНО знать какая кнопка была нажата. хотя здесь совсем не надо привязываться к интерфейсным объектам. на самом деле и OnBtnXClick и onKeydown ОБА должны вызывать ОДНУ и туже процедуру. MyAction1. Цитата:
и для соблюдения хорошего тона Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 20.09.2013 в 13:20. |
||
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 09.08.2011
Сообщений: 12
|
![]()
Спасибо все работает текст не мерцает.
Как остановить перемещение текста в форме по его окончанию? |
![]() |
![]() |
![]() |
#5 | ||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,527
|
![]() Цитата:
Цитата:
программа — запись алгоритма на языке понятном транслятору
|
||
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 09.08.2011
Сообщений: 12
|
![]()
Да по таймеру.
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 09.08.2011
Сообщений: 12
|
![]()
Я не понял как сделать, приведи пример?
|
![]() |
![]() |
![]() |
#8 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,527
|
![]()
а я не знаю что ты понимаешь под
Цитата:
либо при выводе, но наверное лучше в таймере делаем: сравниваем рассчитанное размещение текста (используя DrawText мы здесь не рисуем а только считаем!) с критичным размещением, тем что имеем на форме (размеры поля вывода) и как полагаем (размещение текста в поле вывода) должно быть ПО ОКОНЧАНИИ ТЕКСТА и в нужный нужный момент останавливаем таймер. точное совпадение (=) может и не случиться, поэтому отстановка должна выполняться по неравенству (>|<|<=|>=) ! при расчете ширина требуемого поля вывода <=0 при расчета ширина требуемого поля вывода <= ширина реального поля вывовда
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 26.09.2013 в 10:21. |
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 09.08.2011
Сообщений: 12
|
![]()
а я не знаю что ты понимаешь под
Цитата: по его окончанию //------------------------- Когда текст перемещается снизу вверх по форме, и когда он заканчивается, текст уходит за форму и остается только фон, мне надо чтобы таймер остановился в конце текста, а не прокручивал его дальше. |
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
![]()
Проверяйте значение r.Top = Self.Heigth и если да, то Enabled = False
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как избавится от лишних библиотек? | bill | Помощь студентам | 2 | 07.03.2012 10:09 |
Мерцание при выводе текста | kostghost | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 02.02.2012 17:08 |
Как избавится от сонливости? | Ivan_32 | Свободное общение | 25 | 19.10.2010 10:25 |
Как избавится от этого символа??href | Wi1D | HTML и CSS | 1 | 06.03.2010 23:55 |
Как избавится от нежелатьльного эффета текста | Иллидан | Общие вопросы Delphi | 5 | 20.01.2008 21:45 |