Delphi: выравнивание по правому краю панели мерцает при изменении размера формы - PullRequest
5 голосов
/ 26 января 2012

это должно быть просто, но я не могу найти, как это сделать.

Я создаю форму с выровненной по правому краю панелью, которую я, например, окрашиваю в синий.

Если я берусьмои формы левого края и изменяют его размер вперед и назад по горизонтали быстро, я хотел бы, чтобы правая панель не двигалась и не мерцала.Поскольку его позиция не изменилась, нет никаких причин, по которым он не должен оставаться полностью устойчивым.Кто-нибудь знает простой трюк для решения этой, казалось бы, простой проблемы?

Спасибо

1 Ответ

7 голосов
/ 27 января 2012

Это просто факт жизни с приложениями Windows GUI.Вы можете увидеть тот же эффект в приложении WinForms и даже в основных приложениях Windows.Например, откройте окно проводника и выполните точно такую ​​же операцию, изменив размер, взяв левый край окна.Вы увидите точно такой же эффект.Вы можете увидеть тот же эффект, изменив размеры с любого края.Word и Excel ведут себя одинаково.

Я предполагаю, что Windows перерисовывает в цикле изменения размера перед отправкой сообщения об изменении размера, которое позволяет приложению перераспределить свои элементы управления.

...