Диссидент
![]() 27329 / 17050 / 3767
Регистрация: 24.12.2010
Сообщений: 38,410
|
|
1 | |
Перерисовка формы целиком15.10.2013, 19:05. Показов 2206. Ответов 7
Метки нет Все метки)
(
Как сделать так, чтобы по onPaint перерисовывалась вся форма, а не только те ее части, которые были перекрыты другими окнами?
Update() не помог Invalidate() естественно приводит к зацикливанию. Свойств, отвечающих за такое поведение не нашел Builder-6
0
|
|
15.10.2013, 19:05 | |
Ответы с готовыми решениями:
7
Частая перерисовка формы приводит к тормозам Перерисовка ProgressBar при зависании формы Постоянная перерисовка формы при изменении ее размеров перерисовка формы |
435 / 402 / 57
Регистрация: 06.02.2012
Сообщений: 1,384
|
|
15.10.2013, 20:37 | 2 |
А если создать флажок-счетчик кол-ва вложенных вызовов и не давать вызывать более 2 раз?
0
|
Диссидент
![]() 27329 / 17050 / 3767
Регистрация: 24.12.2010
Сообщений: 38,410
|
|
15.10.2013, 22:12 [ТС] | 3 |
Такая мысля в голову приходила. Но неужто нет нормального, регулярного способа? Возможно, я хочу странного. Могу от затеи и отказаться. Пойду другим путем. Но подожду до утра. Потом все возненавижу. Так как не знаю кого ненавидеть конкретно. Весь Мир, Всю IT, Всю ООП, Виндовоза, Бюльдера, себя...
0
|
Диссидент
![]() 27329 / 17050 / 3767
Регистрация: 24.12.2010
Сообщений: 38,410
|
|
15.10.2013, 23:56 [ТС] | 5 |
Те. вы считаете, (а я вас знаю как знатока), что затея моя глупая? Вполне возможно. В чем мне показалась фишка. Вот нужно построить 30 графиков. Но не всех, а только выбранных. А я уже всех их давно посчитал! (так получилось, что их вместе считать все равно). Работы жалко. И вот юзер возвращается на панель управления и выбирает еще какие-то (ему важно увидеть все графики вместе). А перерисовываются только те куски, что были закрыты другими окнами. Ну неужто нет чего-то, свойства, метода, чтоб сказать - рисуй все заново! Если нет - уйду в запой. Приглашаю всех, кто в теме.
0
|
435 / 402 / 57
Регистрация: 06.02.2012
Сообщений: 1,384
|
|
16.10.2013, 00:08 | 6 |
Вы строите графики в TChart (хотя врят ли там есть такие проблемы) или на канве?
Ну вот как он выбрал чего то так и перерисовывай все графики не в событии onPaint, а в событии выбора. Честно говоря вообще не понимаю зачем может понадобится перерисовать в onPaint, то что не заслонялось.
0
|
Практикантроп
4780 / 2680 / 517
Регистрация: 23.09.2011
Сообщений: 5,734
|
|
16.10.2013, 00:09 | 7 |
- зря. Я достаточно тупой, и мыслить привык конкретно. Вы не пояснили, каким образом что рисуется и почему перерисовывается только там, где были другие окна..., если малевалось на канве, то, вероятно, какой-то функцией и по каким-то данным; тогда это все можно воспроизвести. Короче говоря, когда много вариантов, я прекращаю фантазировать, а то череп перегреется... .
0
|
Диссидент
![]() 27329 / 17050 / 3767
Регистрация: 24.12.2010
Сообщений: 38,410
|
|
16.10.2013, 00:35 [ТС] | 8 |
Угу.
Была такая идейка. Но муторно показалось.
А и правда. Вот такая у меня заморочка вышла.
Череп надо беречь. Он у нас на каждого - один.
Ладно, понял. ВИНАПИ сам думает, что нам в самом деле нужно. И конечно, он лучше знает. Остается только в пол ему поклонится. Обертки наши конечно ему по фигу. Ладно, будем попроще. Заказчик об этой конфетке еще не знает, ну и обойдется. Но странно это. Хочется сделать в общем-то простые и естественные вещи - ан низзя... Вывод: из onPaint нельзя изменить область перерисовки. Этим занимаются роботы, которые, конечно, умнее нас.
0
|
16.10.2013, 00:35 | |
Помогаю со студенческими работами здесь
8
Перерисовка формы VB.NET Перерисовка формы перерисовка формы вручную Принудительная перерисовка формы Перерисовка формы и BorderLayout Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |