Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.027 c
14-1117529466
HBreaker
2005-05-31 12:51
2005.06.29
Зацерните дизайн моего сайтика


3-1116322658
Term
2005-05-17 13:37
2005.06.29
Запрос к базе в потоке


14-1117525220
Cerberus
2005-05-31 11:40
2005.06.29
Слышал в новостях


14-1117505014
Копир
2005-05-31 06:03
2005.06.29
Кто хочет бесплатно поучиться в MTI?


9-1111069768
Smab
2005-03-17 17:29
2005.06.29
Динамической освещение в PowerDraw3/DirectX




   Наверх