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

Вниз

OnPaint = 100 раз ?!..   Найти похожие ветки 

 
Vladimyr ©   (2004-11-20 17:10) [0]

Написал обработчик события OnPaint для стандартной панели, который увеличивает некую переменную на 1 и затем выводит её значение на экран.
Оказалось, что при потере и последующем получении окном фокуса значение счётчика увеличивается на 70, если окно было частично закрыто, и на 102, если окно было закрыто полностью.
Это что же получается: Windows перерисовывает контрол 100 раз??
Кто-нибудь может прокомментировать сей факт?


 
Владимир Кладов   (2004-11-21 07:59) [1]

У меня увеличивается ровно на 1. У вас наверняка есть что-то прозрачное (Transparent) или используется DoubleBuffered. Или есть тулбар в стиле flat - в ХР добавится transparent. Красиво, но... Или давайте кто-нибудь всерьез займется исправлением DoubleBuffered+Transparent.


 
Vladimyr ©   (2004-11-21 19:57) [2]

Спасибо за ответ, но у меня в проекте нет ни DoubleBuffered, ни Transparent.
Может ли такую роль играть BitBtn? TabControl? Panel?

И ещё одно наблюдение: добавление одного элемента в проект вызывает увеличение количества перерисовок за один раз на 2, удаление - уменьшение на 2. Если форма была перекрыта частично, то количество перерисовок равно количеству закрытых ранее контролов. То есть, при перерисовке окна OnPaint вызывается для каждого контрола!!!

То есть, если в проекте 10 контролов, OnPaint будет вызвана 20 раз для каждого контрола!
Это ошибка моя или KOL?
Чем это может быть вызвано?


 
Vladimyr ©   (2004-11-21 20:08) [3]

Сорри, нашёл Transparent!!!  ~@:-}
(поиском в "Core1_1.inc", всего одна(!) метка)

Все пишущие на KOL, будьте внимательнее!
(иначе будет вот такая ботва :--C


 
ecm ©   (2004-11-21 20:14) [4]

Ничё - не сЦать - поправим!



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

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

Наверх




Память: 0.47 MB
Время: 0.063 c
1-1118263862
Кирилл Гумилев
2005-06-09 00:51
2005.06.29
Удаление Excel-столбца


14-1117547432
ЯВ
2005-05-31 17:50
2005.06.29
Срочный вопрос :)


9-1111320863
Toxic
2005-03-20 15:14
2005.06.29
Анализ поверхности


14-1117442964
leonidus
2005-05-30 12:49
2005.06.29
Как из lsd словарей Lingvo получить словари в текстовом виде?


14-1117305394
Cerberus
2005-05-28 22:36
2005.06.29
Где есть материал.