|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.09.2013, 12:35 | #1 |
Пользователь
Регистрация: 09.08.2011
Сообщений: 12
|
Как избавится от мерцание текста
Код:
___________ Код нужно оформлять по правилам: тегом [CODE]..[/СODE] (кнопочка на панели форматирования с решёточкой #) Не забывайте об этом! Модератор. Последний раз редактировалось Serge_Bliznykov; 20.09.2013 в 13:39. |
20.09.2013, 12:53 | #2 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
НЕ рисовать (не использовать Canvas) в таймере.(тем более в двух!)
точнее не рисовать ВНЕ обработчика OnPaint. если по результатам обработки НАДО обновить картинку(форму), использовать Invalidate. А в рисовании (OnPaint) не грузить(читать) файлы. Все сделать с точностью до наоборот. В таймере прочитать файл, проанализировать, принять решение и послать(или не послать) сообщение о перерисовке (вызвать Invalidate) а еще лучше если для (прочитать/проанализировать...) будет своя процедура (или даже функция) котрую мы сможем вызывать из обработчика OnTimerXX. после этого (Invalidate) будет вызвана процедура рисования, которая "знает"про DoubleBuffered и умеет им пользоваться . В ходе оной будет вызван обработчик OnPaint который воспользуется данными полученными в обработчике таймеров и вы все увидите.
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 20.09.2013 в 13:02. |
20.09.2013, 13:11 | #3 | ||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
Цитата:
Код:
так тот вызов что у вас не сработает (правильно) при общем обработчике! тем более что это внешние (от другой формы) кнопки. Кто сказал что там нет и никогда не будет такого общего обработчика которому надо ТОЧНО знать какая кнопка была нажата. хотя здесь совсем не надо привязываться к интерфейсным объектам. на самом деле и OnBtnXClick и onKeydown ОБА должны вызывать ОДНУ и туже процедуру. MyAction1. Цитата:
и для соблюдения хорошего тона Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 20.09.2013 в 13:20. |
||
21.09.2013, 22:04 | #4 |
Пользователь
Регистрация: 09.08.2011
Сообщений: 12
|
Спасибо все работает текст не мерцает.
Как остановить перемещение текста в форме по его окончанию? |
23.09.2013, 10:39 | #5 | ||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
Цитата:
Цитата:
программа — запись алгоритма на языке понятном транслятору
|
||
25.09.2013, 20:22 | #6 |
Пользователь
Регистрация: 09.08.2011
Сообщений: 12
|
Да по таймеру.
|
25.09.2013, 20:45 | #7 |
Пользователь
Регистрация: 09.08.2011
Сообщений: 12
|
Я не понял как сделать, приведи пример?
|
26.09.2013, 10:14 | #8 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
а я не знаю что ты понимаешь под
Цитата:
либо при выводе, но наверное лучше в таймере делаем: сравниваем рассчитанное размещение текста (используя DrawText мы здесь не рисуем а только считаем!) с критичным размещением, тем что имеем на форме (размеры поля вывода) и как полагаем (размещение текста в поле вывода) должно быть ПО ОКОНЧАНИИ ТЕКСТА и в нужный нужный момент останавливаем таймер. точное совпадение (=) может и не случиться, поэтому отстановка должна выполняться по неравенству (>|<|<=|>=) ! при расчете ширина требуемого поля вывода <=0 при расчета ширина требуемого поля вывода <= ширина реального поля вывовда
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 26.09.2013 в 10:21. |
|
26.09.2013, 16:46 | #9 |
Пользователь
Регистрация: 09.08.2011
Сообщений: 12
|
а я не знаю что ты понимаешь под
Цитата: по его окончанию //------------------------- Когда текст перемещается снизу вверх по форме, и когда он заканчивается, текст уходит за форму и остается только фон, мне надо чтобы таймер остановился в конце текста, а не прокручивал его дальше. |
26.09.2013, 16:52 | #10 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Проверяйте значение 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 |