Форум: "Начинающим";
Текущий архив: 2009.02.22;
Скачать: [xml.tar.bz2];
ВнизГлавная форма Найти похожие ветки
← →
VolMyr (2009-01-05 04:07) [0]Здравствуйте. Как изменить програмно главную форму? Например, Form1 - главная, а при виполнение програмы главная стала Form2.
← →
KilkennyCat © (2009-01-05 05:49) [1]Я тут же отвечу, как только ошибок станет не более одной. Это я про русский язык.
← →
YurikGL © (2009-01-05 07:03) [2]А что, по твоему, есть главная форма?
← →
MsGuns © (2009-01-05 11:17) [3]Что-то подсказывает мне, что автору нужна сплэш-форма
← →
Sergey13 © (2009-01-05 11:20) [4]> [3] MsGuns © (05.01.09 11:17)
Хорошо такого подсказчика иметь. 8-)
> [0] VolMyr (05.01.09 04:07)
Не надо играться с главностью форм. Надо в файле проекта создать и показать ДРУГУЮ форму раньше главной.
← →
Сергей М. © (2009-01-05 14:26) [5]
> Как изменить програмно главную форму?
В VCL-приложении - никак.
← →
icWasya © (2009-01-05 15:49) [6]
FormInit:=TFormInit.Create(nil);
FormInit.Show;
FormInit.Update;
Application.CreateForm(TMainForm, MainForm);
MainForm.Update;
FormInit.Free;
Application.Run;
← →
123-ий © (2009-01-06 15:03) [7]Project -> Options. Выбери главную форму. В рантайме делать такие вещи - зло.
← →
KilkennyCat © (2009-01-06 15:23) [8]
> В рантайме делать такие вещи - зло.
Почему?
Я делаю постоянно. Зла не ощущаю.
← →
123-ий © (2009-01-06 15:42) [9]
> Почему?
а смысл какой???
← →
Юрий Зотов © (2009-01-06 16:39) [10]Сменить можно примерно так:
var
MainFormAddress: ^TForm;
OldMainForm, NewMainForm: TForm;
begin
MainFormAddress := @Application.MainForm; // Адрес поля Application
OldMainForm := MainFormAddress^;
NewMainForm := TNewMainForm.Create(Application);
MainFormAddress^ := NewMainForm; // Вуаля!
OldMainForm.Free;
Но прежде, чем пользоваться такими полухакерскими приемами, сначала нужно очень хорошо подумать - а оно действительно необходимо? Нельзя ли решить задачу нормальными средствами?
← →
KilkennyCat © (2009-01-06 17:42) [11]
> 123-ий © (06.01.09 15:42) [9]
Отсутствие смысла не есть зло. Ибо кому - отсутствие, а кому - смысл.
> Юрий Зотов ©
> Нельзя ли решить задачу нормальными средствами?
Конечно можно. Можно осуществить перезапуск приложения с параметром, но проще всего скрыть единственную главную форму нафиг и играться видимостью дочерних.
← →
123-ий © (2009-01-08 06:25) [12]
> но проще всего скрыть единственную главную форму нафиг и
> играться видимостью дочерних.
вот то-то и оно :)
← →
Юрий Зотов © (2009-01-08 18:45) [13]> KilkennyCat © (06.01.09 17:42) [11]
> Конечно можно.
Однажды все же пришлось столкнуться с задачей, где требовалась именно замена главной формы (притом, возможно, еще и неоднократная).
Всякое бывает...
← →
Игорь Шевченко © (2009-01-10 01:37) [14]"Корректно оформляйте заголовок ветки, который должен кратко отражать суть вопроса"
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.02.22;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.005 c