Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.12;
Скачать: CL | DM;

Вниз

Обновить одновременно?   Найти похожие ветки 

 
capkoh ©   (2005-08-21 13:46) [0]

Пишу компонент - плоский ProgressBar. У него заполняется полоска и рисуется сверху процент (как у Gauge, но более точный). Возникла проблема одновременного обновления текущего прогресса и текста (процентов выполнения) сверху прогресса. Компонент рисую на Canvas. Можно ли запретить Canvas обновляться до некоторого момента, чтобы и текст и компонент обновлялись одновременно? Логично, что это требуется для того, чтобы компонент меньше "мерцал". Однако, есть еще вариант обновлять только текст (чаще) и прогресс (реже) независимо. Но тут непонятно как обновить изображение под текстом...


 
Юрий Зотов ©   (2005-08-21 15:10) [1]

Можно рисовать на временном битмапе (в памяти), а потом разом переносить весь битмап на канву компонента.


 
capkoh ©   (2005-08-21 16:35) [2]

В этом случае, лучше создавать/уничтожать bitmap внутри самой процедуры рисования, или лучше сделать ее компонентом класса и создавать/уничтожать однажды?


 
Джо ©   (2005-08-21 16:36) [3]


> [2] capkoh ©   (21.08.05 16:35)

It"s up to you.


 
Джо ©   (2005-08-21 16:44) [4]

В общем случае, если битмэп не будет слишком большим (а это, похоже, как раз тот случай), то - без разницы.


 
capkoh ©   (2005-08-21 17:04) [5]

Да, с временным bitmap стало гораздо лучше! Спасибо.


 
Igorek ©   (2005-08-23 09:37) [6]


> чтобы и текст и компонент обновлялись одновременно?

Не вижу проблемы. Это все обновляется по наступлении события, которое посылает система. В методе Paint рисуешь все. При изменении чего-то (текста или полосы) вызываешь Invalidate. Система сама вызовет Paint.

> Юрий Зотов ©   (21.08.05 15:10) [1]
> Можно рисовать на временном битмапе (в памяти), а потом
> разом переносить весь битмап на канву компонента.

DoubleBuffered?


 
capkoh ©   (2005-08-23 15:54) [7]

[6] - У меня рисуется сначала полоса, потом, сверху, текст. При этом, если рисовать прямо на Canvas, то будет хорошо заметно мерцание (при затирке текста полосой и его (текста) рисовании вновь). Это становится сильно заметно при быстром изменении значения выполнения. При одновременном обновлении (рисовании с готовой заготовки) этого эффекта не возникает => мерцания меньше => лучше.


 
Igorek ©   (2005-08-23 16:39) [8]


> прямо на Canvas, то будет хорошо заметно мерцание (при затирке
> текста полосой и его (текста) рисовании вновь).

DoubleBuffered
все уже придумано


 
TStas ©   (2005-08-23 23:29) [9]

>Юрий Зотов
Я так рисовал циферки с тенью, это и есть общепринятый способ?



Страницы: 1 вся ветка

Текущий архив: 2006.02.12;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.04 c
15-1137596780
Джо
2006-01-18 18:06
2006.02.12
Цитата


2-1138188094
Vit2000
2006-01-25 14:21
2006.02.12
Отображение данных из XML


15-1137764826
DillerXX
2006-01-20 16:47
2006.02.12
Вам не кажется что день становится длиннее?


15-1137946202
Cerberus
2006-01-22 19:10
2006.02.12
Чья фраза?


15-1138183188
Zevs_a
2006-01-25 12:59
2006.02.12
Где можно скачать книгу Delphi 2005 на руском или на english





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский