Инициализация основного окна
По умолчанию TApplication::InitMainWindow создает окно-рамку
с тем же именем, что и объект приложения. Это оно не особенно полезно, так как не может воспринимать и обрабатывать ввод от пользователя. Вы должны переопределить InitMainWindow и создать новый объект окна, обрабатывающий ввод от пользователя. Обычно InitMainWindow создает TFrameWindow или производный от него объект и
вызывает функцию SetMainWindow, которая воспринимает один параметр (TFrameWindows*) и возвращает указатель на старое основное окно (в случае нового приложения возвращается 0).
С помощью элемента данных nCmdShow, соответствующего параметру с таким же именем функции WinMain, вы можете изменить характер вывода на экран основного окна приложения. Эту переменную можно установить, как только начинает выполнение функция Run, или
пока вы не вызовите TApplication::InitInstance. По существу это
означает, что вы можете установить значение nCmdShow либо в InitApplication, либо в функции InitMainWindow.
Для изменения основного окна при выполнении приложения вы
можете использовать функцию SetMainWindow, которая имеет один параметр, TFrameWindow*, и возвращает указатель на старое основное окно (или 0). Этот указатель можно использовать для сохранения старого основного окна (и его последующего восстановления), либо
для удаления объекта окна.