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] |
|
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
Отредактировано 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 модально, то приложение исчезнет с таскбара. почему не получается?
|
|