:: Visual Foxpro, Foxpro for DOS
Как упорядочить объекты
Алексей Пронин
Стоит следующая задача: есть контейнер, в него вложено еще несколько контейнеров. реализовано некоторое управление. В процессе работы вложенные контейнеры изменяют свой размер закрывая другие, неактивные в этот момент. От всех видны одновременно только заголовки и один активный контейнер. Все отлажено и работает. Досаждает одно. Не удается программным путем переупорядочить вложенные контейнеры в заданном порядке, т.е.

-Первый (TabIndex=3)
-Второй (TabIndex=2)
-Tретий (TabIndex=1)

Порядок обхода по TabIndex выполняется как задаешь, а отображаются контейнеры всегда в том порядке, как их вкладывал в главный.
Все время приходится "жонглировать" Send to Back - Bring to Front. Ситуация еще больше досаждает когда наследуешь от главного контейнера новый и добавляешь еще вложенный контейнер. Тут уже даже это не всегда помогает.

Как можно программным путем переупорядочить вложенные контейнеры.

Подозреваю что <Главный контейнер>.Controls[]. А как?

Ratings: 0 negative/0 positive
Re: Как упорядочить объекты
PaulWist

Сообщений: 14601
Дата регистрации: 01.04.2004
ZORDER - не помогает?




------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: Как упорядочить объекты
Алексей Пронин
Если можно, поподробнее или где почитать
Ratings: 0 negative/0 positive
Re: Как упорядочить объекты
piva

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Ну и делал бы для неактивных контейнеров Enabled=.F.




------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: Как упорядочить объекты
PaulWist

Сообщений: 14601
Дата регистрации: 01.04.2004
Ну, в хелпе конечно

Цитата:
Places a specified form or control at the front or back of the z-order within its graphical level. Places a control contained by the ToolBar object at the front or back of the controls array that determines the order in which controls appear in the toolbar.

[Object.]ZOrder([nOrder])


Return Value
nOrder


Specifies an integer indicating the position of the object relative to other objects. If you omit nOrder, the setting is 0.




------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: Как упорядочить объекты
Алексей Пронин
Спасибо, вопрос исчерпан
Ratings: 0 negative/0 positive
Re: Как упорядочить объекты
Владимир Максимов
Автор

Сообщений: 14095
Откуда: Москва
Дата регистрации: 02.09.2000
В данном конкретном случае это решается через метод ZOrder(). Он собственно и выполняет программно то, что делают пункты меню "Send to Back - Bring to Front".

Однако на будущее, рассмотри вариант использования PageFrame для решения подобной задачи. Это проще с точки зрения проектирования дизайна формы.
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 31 (Гостей: 31)

© 2000-2024 Fox Club 
Яндекс.Метрика