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

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

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2012, 15:59   #1
Хоттабич
статус
Пользователь
 
Регистрация: 21.05.2008
Сообщений: 35
По умолчанию Сделать дочернюю форму главной ...

Доброго времени суток. Возникла следующая проблема, в программе есть Form1 и Form2, сначала открывается Form1 в которой идет проверка введенных данных, после этого Form1 прячу и дальше работаю уже только с Form2:
Код:
Form1->Hide();
Form2->Show();
Программа нормально работает до тех пор пока на экране не появится завставка. После этого если разблокировать компьютер появляется ошибка:
Код:
cannot focus a disabled or invisible window
Насколько я понимаю программа просто теряет фокус и пробует снова отобразить главное окно (Form1), которое спрятано. Как исправить это, возможно есть какие-то методы чтобы сделать Form2 главной, менять все местами с Form1 на Form2 не вариант - программа очень большая. Помогите пожалуйста. Спасибо.
Безвыходных ситуаций нет, есть ситуации из которых мы не знаем выход.
Хоттабич вне форума Ответить с цитированием
Старый 29.05.2012, 16:59   #2
nick42
Форумчанин
 
Аватар для nick42
 
Регистрация: 14.10.2011
Сообщений: 267
По умолчанию

Ну, попробуйте поэкспериментировать с
Код:
Application->MainForm->Parent = Form2;
Но вообще-то это гиблый путь. И непонятно про заставку, - если на первой форме ничего существенного для работы нет, так ее скрытое состояние и не должно вызывать головной боли... .
nick42 вне форума Ответить с цитированием
Старый 30.05.2012, 10:59   #3
Galstuk1
Пользователь
 
Регистрация: 16.04.2012
Сообщений: 16
По умолчанию

Может изначально сделать главной форму, на которой идет основная работа (у вас это Form2). При запуске проги её скрыть и отобразить ту, на которой идет проверка введенных данных (Form1). После проверки закрыть Form1 и открыть снова Form2.
Galstuk1 вне форума Ответить с цитированием
Старый 30.05.2012, 11:05   #4
Хоттабич
статус
Пользователь
 
Регистрация: 21.05.2008
Сообщений: 35
По умолчанию

Спасибо попробую.
Безвыходных ситуаций нет, есть ситуации из которых мы не знаем выход.
Хоттабич вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как повернуть дочернюю форму arthur1 C# (си шарп) 2 22.03.2012 19:10
Центрировать дочернюю форму по основной nls Общие вопросы Delphi 6 29.01.2012 22:53
Закрыть приложение через дочернюю форму Человек Панда Помощь студентам 4 15.07.2011 23:08
как сделать текущую форму главной? TaTT DoGG Общие вопросы .NET 2 10.06.2009 15:34
Как сделать, чтобы форму можно было перемещать только внутри главной формы SeregaKo Общие вопросы Delphi 7 26.03.2009 12:48