Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Перемещение TPanel


AlexanderSK ©   (2002-04-23 17:17:00) 

Проблема в следующем: есть Panel, на которой лежит куча Label-ов. При перемещение панли (в лоб Top := Top + 10) все это щастье при перерисовке жутко мигает! Можно ли с этим как-то бороться?


AlexanderSK   (2002-04-24 14:16:00) [1]

Как выяснилось все дело в Фокусе!
т.е. Есть форма, на ней фрейм, на нем панель (та самая).
Так вот: Frame.SetFocus; (или Panel.SetFocus; - высеравно) - начинается моргание.
Form.SetFocus; - моргание заканьчивается.


PaRL   (2002-04-24 14:08:00) [2]


> Всем спасибо! Насамом деле все оказалос проще!

Дак расскажи. Вместе посмеёмся :)


AlexanderSK   (2002-04-24 13:25:00) [3]

Всем спасибо! Насамом деле все оказалос проще!


olden   (2002-04-23 18:17:00) [4]

Черт! Читаю невнимательно :)
Используй не Top := , Left :=
а Panel1.SetBounds
Тогда перемещение произойдет мгновенно


PaRL   (2002-04-23 18:15:00) [5]


> на сколько я помню используется для перетакивания мышью!

Дык а что надо то???
Он не сказал как именно он хочет перемещать её...
Так бы и написал, что не мышкой, а то сидишь тут пальцы мозолишь - пишешь :)


olden   (2002-04-23 18:11:00) [6]

еще пара рецептов
1) перемещении отрисовывай только обрамляющую рамку (DrawFocusRect)
2) Panel1.ControlStyle := Panel1.ControlStyle + [csOpaque];


AlexanderSK   (2002-04-23 18:09:00) [7]

Не не помогает ни то ни другое!
А:
ReleaseCapture;
Panel1.Perform(WM_SYSCOMMAND, $F012, 0);

на сколько я помню используется для перетакивания мышью!


PaRL   (2002-04-23 18:01:00) [8]

Не.

ReleaseCapture;
Panel1.Perform(WM_SYSCOMMAND, $F012, 0);


MBo   (2002-04-23 17:32:00) [9]

DoubleBuffered:=True;


Наверх

Титульная страница Поиск, карта сайта Написать письмо