Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.10.25;
Скачать: CL | DM;

Вниз

Программное позиционирование объектов.   Найти похожие ветки 

 
Риг   (2009-08-23 14:15) [0]

Как программными средствами поместить объект на передний план?

Имеется: ScrollBox, на котором изначально расположено несколько объектов.

Что происходит:
В потоке динамически создаем Label, в качестве родителя указываем наш ScrollBox.
В итоге созданный Label отображается в боксе, но перекрывается объектами, уже расположенными там.

Процедуры: SendToBack и BringToFront не меняют ситуации.

Заранее благодарю за ответ.


 
Юрий Зотов ©   (2009-08-23 14:23) [1]

Все потомки TGraphicControl (включая TLabel) - это графические контролы. То есть, просто рисунки Они не имет своей собственной канвы и рисуются непосредственно на parent"е. Как рисунки на крышке стола.

Все потомки TWinControl - это оконные контролы. То есть, полноценные окна. Они имеют свою собственную канву и рисуются поверх parent"а. Как предметы, лежащие на той же крышке стола.

Поэтому графический контрол принципиально не может оказаться поверх оконного, если имеет общий с ним parent.


 
{RASkov} ©   (2009-08-23 14:24) [2]

> Процедуры: SendToBack и BringToFront не меняют ситуации.

Все работает как нужно, только не стоит забывать о том, кто на ком может лежать, а кто нет...

> В итоге созданный Label отображается в боксе, но перекрывается
> объектами

Отсюда вопрос: Какими объектами перекрывается? Может Лабелу, как ГрафОбъекту и не суждено никогда быть выше?


 
Юрий Зотов ©   (2009-08-23 14:26) [3]

Самый простой выход из этой ситуации - создать панель размером с Label и положить ее на ScrollBox, а Label класть уже на эту панель.


 
Риг   (2009-08-23 14:42) [4]

Благодарю всех за ответы ) Теперь все понятно :)


 
Юрий Зотов ©   (2009-08-23 15:00) [5]

> Риг   (23.08.09 14:42) [4]

Если проблема только в Label, то вместо него можно просто использовать TStaticText. Тогда и панель не нужна будет.



Страницы: 1 вся ветка

Текущий архив: 2009.10.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.021 c
2-1251778934
Phoenix
2009-09-01 08:22
2009.10.25
Обратная связь


2-1251206612
Дмитрий_
2009-08-25 17:23
2009.10.25
TStrngList.AddObject..?


15-1251125704
boriskb
2009-08-24 18:55
2009.10.25
Это что?


2-1251100957
@!!ex
2009-08-24 12:02
2009.10.25
Как проще всего сделать Wizard?


3-1228725725
amadey_motzart
2008-12-08 11:42
2009.10.25
ADOQuery