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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.10.2009, 16:36   #1
phpusr
Пользователь
 
Аватар для phpusr
 
Регистрация: 19.10.2009
Сообщений: 13
Восклицание Управление дочерними окнами через вкладки

Нужно по нажатию на определенную вкладку сделать так, чтобы открывалось определенное дочернее окно.
В качестве вкладок используется компонент TabControl.
Я прописал код на событие OnChanging, вот такой код:

Type tbc:TTabControl
...
procedure TMainForm.tbcChanging(Sender: TObject; var AllowChange: Boolean);
begin
MDIChildren[tbc.TabIndex].Show;
end;

Этот код открывает нужную вкладку только после нескольких нажатий, на разные вкладки.
phpusr вне форума Ответить с цитированием
Старый 20.10.2009, 09:23   #2
Andrei
Форумчанин
 
Регистрация: 20.06.2007
Сообщений: 270
По умолчанию

А почему код повесили на событие OnChanging?

Это событие возникает ПЕРЕД тем как вы выходите со вкладки. Используется индекс вкладки которую вы собираетесь покинуть.

Повесьте код на событие OnChange.
-Кукушка, кукушка! Накукуй мне сто лет!
-А накукуй тебе столько?

(с) Библия. Вольный перевод с древнееврейского.
Andrei вне форума Ответить с цитированием
Старый 20.10.2009, 18:23   #3
phpusr
Пользователь
 
Аватар для phpusr
 
Регистрация: 19.10.2009
Сообщений: 13
По умолчанию

На OnCahnge тоже вешал, все равно не помогает, такое ощущение как будтно номера окон меняются, и вот еще вопрос, можно ли узнать № активного окна?
phpusr вне форума Ответить с цитированием
Старый 21.10.2009, 07:46   #4
Andrei
Форумчанин
 
Регистрация: 20.06.2007
Сообщений: 270
По умолчанию

Цитата:
Сообщение от phpusr Посмотреть сообщение
На OnCahnge тоже вешал, все равно не помогает, такое ощущение как будтно номера окон меняются,...
Похоже, ощущения вас не обманули. И в хелпе об этом написали:

Цитата:
MDICildren property (TCustomForm)


Provides indexed access to all MDI child forms.

Delphi syntax:

property MDIChildren[I: Integer]: TForm;

C++ syntax:

__property TForm* MDIChildren[int I] = {read=GetMDIChildren};

Description

Use MDIChildren to access a child form.

I is the index of the child form to access. The order of MDI children changes as different MDI forms are activated. Initially, forms are listed in creation order, with new forms being added to the end of the array. Whenever an MDI child is activated, however, it moves to the front of the list. Thus, use I to index over all forms in the array, but not to refer to a specific form.

MDIChildren is meaningful only if the form is an MDI frame (that is, if the form’s FormStyle property is set to fsMDIForm).
Что означает примерно следующее:

...Порядок дочерних окон меняется когда различные дочерние окна становятся активными... Когда дочернее окно становится активным оно помещается в начало списка. Так что используйте индекс для перебора всех форм в массиве, а не для фиксированной ссылки на конкретное дочернее окно...

Цитата:
Сообщение от phpusr Посмотреть сообщение
...и вот еще вопрос, можно ли узнать № активного окна?
Логически рассуждая, индекс активного дочернего окна всегда равен 0.

Я сам мало работал с дочерними окнами, потому и не увидел сразу граблей .
-Кукушка, кукушка! Накукуй мне сто лет!
-А накукуй тебе столько?

(с) Библия. Вольный перевод с древнееврейского.
Andrei вне форума Ответить с цитированием
Старый 21.10.2009, 21:04   #5
phpusr
Пользователь
 
Аватар для phpusr
 
Регистрация: 19.10.2009
Сообщений: 13
По умолчанию

Огромное спасибо.
phpusr вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с дочерними окнами artem779 БД в Delphi 3 17.03.2009 13:55
Заморочка с дочерними окнами daunito Общие вопросы Delphi 14 17.03.2009 06:12
Удаленное управление через ICQ dolphin705 Общие вопросы Delphi 25 07.10.2008 21:30
Управление через лан yura-cat Помощь студентам 7 23.09.2008 00:26