Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798

Надо убрать "мелькание" при resize

01.12.2016, 12:03. Показов 1313. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приложение содержит с десяток TabSheet на нескольких PageControl. При изменении размеров формы все контролы и главное меню противнейшим образом мигают. Устранять это я умею только присвоением свойству DoubleBuffered контрола значения True (у главного меню его, кстати, нет). Но сейчас этих контролов чёртова уйма, и такой метод меня не устраивает. Как мне достичь желаемого? есть ли иные методы кроме переброски в цикле DoubleBuffered? (и на что это изменение может негативно повлиять?). Кто может помочь?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.12.2016, 12:03
Ответы с готовыми решениями:

Убрать мерцание TreeView при Resize формы
Добрый день,форумчане. Такая проблема: на форме есть элемент TreeView. Отрисовываю я его сама, метод переопределен. И при изменении...

Мелькание фигуры при движение
Можно ли как избавиться от мигания фигуры во время движения по экрану? Есть окно апплета, на котором нарисован с помощью fillRect квадрат и...

Мелькание картинки при скролле
Помогите пожалуйста, не могу избавиться от мелькания. Пробовал TImage, TGraphicControl (Родитель Panel1). Также пробовал DoubleBufered. ...

6
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,153
Записей в блоге: 3
01.12.2016, 12:46
Доброго.
Цитата Сообщение от nick42 Посмотреть сообщение
(у главного меню его, кстати, нет)
что за главное меню?

Добавлено через 5 минут
и зачем, делать всем TabSheet, когда можно просто родителю PageControl поставить DoubleBuffered true.
PS, в старых версия XE визуально это свойство не отображено, но программно Вы задать его сожмите.
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
01.12.2016, 14:20  [ТС]
Цитата Сообщение от Dinkin Посмотреть сообщение
что за главное меню?
- компонент MainMenu; почти самый начальный в палитре.
Цитата Сообщение от Dinkin Посмотреть сообщение
можно просто родителю PageControl поставить DoubleBuffered
- это не работает. Даже дв.буферизация TabSheet'а успокоительно действует только на Label'ы на нём; эдитам, чекбоксам и прочему - до лампочки (пока им самим эту двойную буферизацию не пришьёшь).
0
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,153
Записей в блоге: 3
01.12.2016, 14:40
nick42, теперь понял.
А скажите у формы и у PageControl, помимо двойно буфиризации, все галки проставлены в свойстве Anchors?

Добавлено через 2 минуты
В обще я с таким сталкивался, когда у компонентов на форме была нарушена родительская иерархия...и они наследовались от всяких динамически созданных панелек, которые не брали настройки от главной формы.
1
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
01.12.2016, 14:49  [ТС]
Цитата Сообщение от Dinkin Посмотреть сообщение
все галки проставлены в свойстве Anchors?
- галки не все, но Align->Client, и это, конечно, влияет. А динамически созданных контролов там нет; в основном CheckBox, StringGrid, Edit, Label, ComboBox... .
Думаю, связано это с прорисовкой, с Align, но механику этих процессов я просто не представляю, потому и расспрашиваю здесь.
0
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,153
Записей в блоге: 3
01.12.2016, 14:49
Цитата Сообщение от nick42 Посмотреть сообщение
галки не все
А пробуйте поставить все галки (они отвечают за перерисовку компонентов на объекте).
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
01.12.2016, 14:57  [ТС]
Dinkin, сработало! Добавил последнюю оставшуюся галочку в Anchors у PageControl'а - и мигание чудесным образом прекратилось.
Спасибо, не знал про это. Сейчас попробую поэкспериментировать с приложением.
(Тема пока открыта и вопрос не снят)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.12.2016, 14:57
Помогаю со студенческими работами здесь

Нежелательное мелькание всех форм программы при автозагрузке
nXIBRY90z5w Этот короткий видеоролик демонстрирует нежелательную (преждевременную) прорисовку всех форм приложения Windows Forms во время...

Как убрать resize для мобильной вёрстки
Здравствуйте, форумчане! Есть такой интересный вопрос для тех, кто занимался мобильной вёрсткой. Я не так часто делаю мобильные версии,...

"Мелькание" при ривовании на Timage.Canvas
Здравствуйте! Рисую на Timage.Canvas: procedure TForm1.img_tempMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); ...

Мерцание при перерисовке Controla в диалоге при resize.
В окно со стилем WS_OVERLAPPEDWINDOW добавлен control. При изменении размера окна пользователем control получает wm_paint и дико...

How can I resize all controls or just resize the space between them?
Hi. How can I resize all controls or just resize the space between them, when the form is resized in the runtime? Thanx in advance


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru