Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.11.2010, 19:37   #1
Paskal1
Пользователь
 
Аватар для Paskal1
 
Регистрация: 22.10.2010
Сообщений: 69
Вопрос TabSET и MDI окна

Привет всем !
Люди помогите плиз уже третий день с этим мучаюсь
У меня MDI приложение с множеством дочерних окон в низ главной формы я поставил компонент TabSET.
При создании новой дочерней формы создаю параллельно вкладку в tabset
методом TabSet1.Tabs.Add('Новое окно');
(Пробовал и фокус передавать что я только не пробовал не чего не помогает ).
Вопрос- Нужно чтобы вкладки с tabset переключали дочерние окна и при закрытии доч. Окна исчезала та вкладка которая создавалась вместе с этим доч.окном.
И второй вопросик как узнать индекс дочернего окна (по уровню его создания (открытия))
Ну вроде как разъяснил понятно, помогите плиз.
Заранее большое спасибо
Paskal1 вне форума Ответить с цитированием
Старый 11.11.2010, 10:24   #2
Скандербег
Форумчанин
 
Регистрация: 04.04.2009
Сообщений: 438
По умолчанию

Для активации нужного окна достаточно вызвать метод BringToFront.
Имена Tab'ов должны совпадать с Caption MDI окон тогда найти окно не сложно (по индексам окон искать нельзя).
Для удаления Tab'а в форме MDI на событии FormClose удалять Tab по TabIndex.
Это еще не все. При активации окна другим способом (через меню или тыканьем мыши) Tabset должен переключаться на нужный Tab.
В прицепе пример, где показано как все делать.

Узнать индекс можно только по свойству Name MDI окна, если, конечно, его не менять в программе. При создании окна свойству автоматом присваивается наименование: 'MDIChild', 'MDIChild_1', 'MDIChild_2', ...
Выделяя индексы в конце имен можно узнать индекс порядка создания.
А такой вот перебор окон:
Код:
for I := 0 to MDIChildCount - 1 do
в общем случае, не соответствует порядку их создания.
Вложения
Тип файла: zip MDI.zip (6.3 Кб, 48 просмотров)
Скандербег вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
установить номер активного дочернего окна MDI Delphi JK0 Помощь студентам 7 22.10.2010 09:45
написать программу на ДЕЛЬФИ(!), в которой используется MDI-окна (текстовые) Оксиморон Помощь студентам 4 28.01.2009 15:04
написать программу на дельфи, в которой используется MDI-окна (текстовые) Оксиморон Помощь студентам 11 14.01.2009 23:27
MDI Окна RIO Общие вопросы .NET 8 06.05.2008 16:06
Как сделать чтобы дочерние окна в MDI-приложениях были вне главного окна??? dimonchuk Общие вопросы Delphi 1 11.08.2007 12:13