C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Форма, Запуск
Udman
  Отправлено: 16.10.2003, 23:53


Ученик-кочегар

Группа: Участник
Сообщений: 16



Есть такая проблема!!! Помогите решить! У меня есть главная форма(ну как всегда), есть Форма2, мне надо чтобы при запуске проги, главную форму прятало а Форму2 показывало. Я пробовал делать событие при создании главной формы. Тойсть:
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Form1->Visible=false;
Form2->ShowModal();
}
//------------------------------------------------------------------
Но ничего не получилось. Про подключение формы и не говорите. С формами работаю не в первые. Но такого ещё небыло. Прога компилируется нормально, но при запуске этой проги какое-то сообщение. Точно не помню, но помню что-то там мелькнуло типа FFFFFF. Я так понял что это адресс. Вообщим так как надо не работает. Раньше пробовал такой прикол(ну типа чтоб вторая форма сначала выскакивала) на 5-м Билдере, то все получалось. Поставил 6-й а здесь не получаеться. Подскажите если кто знает. Заранее благодарен!
[COLOR=red][/COLOR] smile.gif
Aptem
Отправлено: 17.10.2003, 06:22


Мастер участка

Группа: Участник
Сообщений: 349



Дело в том, что у тебя Form1 — это главная форма и она будет появляться всегда ! Чтобы этого избежать, тебе нужно в опциях поменять порядок создания форм. А в Builder 5 у тебя эта штука работать не могла, мне кажется.
exp
Отправлено: 18.10.2003, 23:19


Мастер участка

Группа: Участник
Сообщений: 304



А как насчет того, чтоб не прятать форму, а сделать её недоступной?
Немного не то, что ты просил, но все таки вариант.

bool Flag=true; // нужен, чтоб действия с формой выполнялись только при создании Form1

void __fastcall TForm1::FormActivate(TObject *Sender)
{
if (Flag) { // если Flag=false, то ничего не пройзойдет
Form2->Show();
Form1->SetEnabled(false);
}
Flag=false; // теперь при дальнейших активациях формы ничего не произойдет.
}
Дольше по ходу дела поменяешь Form1->SetEnebled(true).

З.Ы. Спасибо за подсказку, Udman smile.gif

Отредактировано exp — 19/10/2003, 00:22
Admin
Отправлено: 19.10.2003, 08:08


Владимир

Группа: Администратор
Сообщений: 1190



Если в конструкторе присвоить свойство Visible у Form1 false
и написать:
CODE

void __fastcall TForm1::FormShow(TObject *Sender)
{
 Form2->ShowModal();
}

то при запуске программы появляется сразу 2 форма,
а первая не видна.
Dr.Phoenix
Отправлено: 19.10.2003, 13:06


Дежурный стрелочник

Группа: Участник
Сообщений: 48



где-то я читал, что если скрыть главную форму, и показать Form2 модально, то приложение исчезнет с таскбара. почему не получается?

Вернуться в Вопросы программирования в C++Builder