Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.01.06;
Скачать: [xml.tar.bz2];

Вниз

Мерцание раб области   Найти похожие ветки 

 
fics   (2007-12-10 12:41) [0]

Здравствуйте уважаемые. Такой вот вопрос к вам, есть
ScrollBox в нём Panel 6000 на 3000 px на Panel-е PaintBox (align=alClient) Создаю в этой области разные компоненты, рисую линии и тд. Но как избежать мерцания, я знаю что можно использовать DaubleBuffered для Parent, то есть Panel - a, но для такой рабочей области DaubleBuffered сильно тормозит работу. не пойму как использовать тогда Invalidate или вообще как решить эту проблему?


 
Рамиль ©   (2007-12-10 12:50) [1]

Надо рисовать только в пределах видимой пользователю области, а не 6000 на 3000. Где ты такой монитор видел?
И в OnPaint перерисовывать только недействительную область.


 
fics   (2007-12-10 12:58) [2]

Да причём монитор, просто схему нужно составлять а не хватает места.
А как это сделать- перерисовывть только недействительную область?
Ну мне нужно всё перерисовывать, а эфект DoubleBufer хотелось бы иметь только для видимой области.


 
Рамиль ©   (2007-12-10 13:01) [3]

Не нужно тебе все перерисовывать. Зачем рисовать то, что не видно?


 
fics   (2007-12-10 13:04) [4]

И то правильно.


 
fics   (2007-12-10 13:06) [5]

Ну а как же сделать чтобы не мерцало?


 
{RASkov} ©   (2007-12-10 13:08) [6]

> [5] fics   (10.12.07 13:06)

Рисуй видимую(!) область во временном битмапе, а потом целиком копируй на канву....


 
Рамиль ©   (2007-12-10 13:44) [7]


> Ну а как же сделать чтобы не мерцало?

Поставишь DoubleBuffered и не будет мерцать.


 
fics   (2007-12-10 13:49) [8]

но будет тормозить!!!


 
homm ©   (2007-12-10 13:49) [9]

> [7] Рамиль ©   (10.12.07 13:44)
> Поставишь DoubleBuffered и не будет мерцать.

А теперь прочти все сообщение, а не только первую строку.


 
Рамиль ©   (2007-12-10 15:08) [10]


> fics   (10.12.07 13:49) [8]

Не будет, если последуешь советам [1] и [3].

> homm ©   (10.12.07 13:49) [9]

Ну, прочитал еще раз и что?


 
homm ©   (2007-12-10 15:09) [11]

> [10] Рамиль ©   (10.12.07 15:08)
> Ну, прочитал еще раз и что?

А то, что автор в курсе сего замечательного свойства. Но ведь это же не имеет значения, главное что ты умнее.


 
Dib@zol ©   (2007-12-10 15:11) [12]

В онПаинте проходишь по свем дочерним контролам своего СкроллБокса и узнаёшь какой у каждого регион. И пользуешь ValidateRect. А потом вручную подаёшь дочерним контролам команду на перерисовку.


 
Рамиль ©   (2007-12-10 15:14) [13]


> homm ©   (10.12.07 15:09) [11]

Автор жаловался, что при DoubleBuffered тормозит.
Если рисовать только видимую область и выкинуть TScrollBox тормозить не будет.
Так понятнее? Разжуй и в рот еще положи что ли?


 
homm ©   (2007-12-10 15:18) [14]

> [13] Рамиль ©   (10.12.07 15:14)

Не заметил, что предъидущие ответы тоже твои. В свете [1] все встает на свои места.



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

Форум: "Начинающим";
Текущий архив: 2008.01.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.004 c
2-1197224693
slavon
2007-12-09 21:24
2008.01.06
Создание массива компонентов в real-time


15-1196661304
boriskb
2007-12-03 08:55
2008.01.06
Возвращение к теме


3-1188290958
ANB
2007-08-28 12:49
2008.01.06
Самый быстрый способ разобрать XML в оракл ?


3-1188543581
Zeqfreed
2007-08-31 10:59
2008.01.06
Подскажите SQL-запрос(ы), пожалуйста.


6-1177413145
DVM
2007-04-24 15:12
2008.01.06
Почему начинает подтормаживать сервер.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский