Cahes |
Отправлено: 09.04.2005, 08:33 |
|
Не зарегистрирован
|
Здравствуйте!
Столкнулся с такой проблемой: в создаваемой мною программе очень часто приходится использовать методы рисования класса TCanvas! Это происходит под управлением таймера с частотой примерно в 500 ms.
Побочный эффект такой активной графики — постоянно бегующие по канве полосы (снизу вверх как на ненастроенном телефизоре).
Так как общий цвет канвы у меня белый, то эта неприятность создает отвратительное впечатление от программы.
Вопрос ественнен: как этого можно избежать? Простой пример — во многих редакторах мигает курсор, но от этого же ничего страшного не происходит!
Заранее спасибо за ответ!
|
|
exp |
Отправлено: 09.04.2005, 10:19 |
|
Мастер участка
Группа: Участник
Сообщений: 304
|
на FormCreate повесь
CODE |
Form1->ControlStyle << csOpaque;
Form1->DoubleBuffered = true;
|
|
|
** Cahes |
Отправлено: 09.04.2005, 11:28 |
|
Не зарегистрирован
|
2exp: Спасибо, все заработало!
Смысл второй инструкции я более-менее понял, а в чем заслуга 1-го оператора? |
|
Sl@Sh |
Отправлено: 09.04.2005, 12:02 |
|
Мастер участка
Группа: Участник
Сообщений: 383
|
csOpaque — The control completely fills its client rectangle.
Так в хелпе написано.
Хочу добавить, что использовать DoubleBuffered = true лучше только
когда вы рисуете на холсте. Этот параметр указывает на то, что прорисовка будет выполнена в памяти, а значит жрёт дополнительную память.
Успехов !
|
|