Steepe_Hare Опубликовано 13 декабря, 2016 Поделиться Опубликовано 13 декабря, 2016 В настройках проекта можно поставить галку "Include splash image" и выбрать картинку для заставки. А как получить доступ к окну заставки, то есть, например, динамически менять текст там? Цитата Ссылка на комментарий
1 Модераторы Равиль Зарипов (ZuBy) Опубликовано 13 декабря, 2016 Модераторы Поделиться Опубликовано 13 декабря, 2016 1 час назад, Steepe_Hare сказал: В настройках проекта можно поставить галку "Include splash image" и выбрать картинку для заставки. А как получить доступ к окну заставки, то есть, например, динамически менять текст там? никак если хотите менять текст и прочее, создайте форму сами и сделайте её главной. там и заставку ставьте и текст и прочее Steepe_Hare 1 Цитата Ссылка на комментарий
0 krapotkin Опубликовано 13 декабря, 2016 Поделиться Опубликовано 13 декабря, 2016 главное - главную форму делать из трех компонентов - бэкграунд, лого и кнопка Начать тогда все будет очень хорошо и быстро Равиль Зарипов (ZuBy) 1 Цитата Ссылка на комментарий
0 #WAMACO Опубликовано 13 декабря, 2016 Поделиться Опубликовано 13 декабря, 2016 (изменено) 1 час назад, krapotkin сказал: главное - главную форму делать из трех компонентов - бэкграунд, лого и кнопка Начать тогда все будет очень хорошо и быстро А вторая форма уже типа главная (основное окно программы)? Вы ее как форму создаете или на главной (которая заставка) фрейм создаете? Изменено 13 декабря, 2016 пользователем wamaco Цитата Ссылка на комментарий
0 krapotkin Опубликовано 13 декабря, 2016 Поделиться Опубликовано 13 декабря, 2016 тут все непросто если нет связи например, или еще какая-то совсем беда, остаемся на первой если не залогинены, загружаю форму логина если залогинены - одну из двух "главных" (по смыслу, не по делфи) форм приложения при этом на каждой из форм есть и фреймы и всякая другая беда Равиль Зарипов (ZuBy) 1 Цитата Ссылка на комментарий
0 Rusland Опубликовано 14 декабря, 2016 Поделиться Опубликовано 14 декабря, 2016 9 часов назад, krapotkin сказал: если не залогинены, загружаю форму логина Как это делается? По FormShow идет вызов другой формы или по FormActivate? Цитата Ссылка на комментарий
0 Модераторы Равиль Зарипов (ZuBy) Опубликовано 14 декабря, 2016 Модераторы Поделиться Опубликовано 14 декабря, 2016 8 минут назад, Rusland сказал: Как это делается? По FormShow идет вызов другой формы или по FormActivate? Тут зависит от пухлости формы... если форма которую нужно показать после сплеша содержит много компонентов, то желательно её засунуть в OnActivate Цитата Ссылка на комментарий
0 krapotkin Опубликовано 14 декабря, 2016 Поделиться Опубликовано 14 декабря, 2016 (изменено) у меня еще хитрее ) могу сейчас чуть-чуть приврать, давно ваял, но общий смысл... сделан поток, который стартует в FormShow, все проверяет, и возвращает все результаты проверок соответственно, в OnThreadTerminate стартует ShowModal формы логина но в большинстве мест все-таки загрузки профиля и т.п. идут в главном потоке под диалогом из fgx ... Изменено 14 декабря, 2016 пользователем krapotkin Цитата Ссылка на комментарий
0 x11 Опубликовано 14 февраля, 2018 Поделиться Опубликовано 14 февраля, 2018 В 14.12.2016 в 08:19, Rusland сказал: Как это делается? По FormShow идет вызов другой формы или по FormActivate? Может кому пригодится. 1. В приложении по умолчанию главной формой, т.е. формой, которая автоматически создается при старте, является форма логина. Т.е. именно она появляется первой. 2. В форме логина уже во время исполнения программы, подменяем форму логина на ту, которая должна теперь считаться главной. procedure SetAsMainForm(aForm:TForm); var P: Pointer; begin P := @Application.Mainform; Pointer(P^) := aForm; end; когда проверили логин/пароль и убедились, что пользователь авторизован, создаём форму и делаем её главной, а форму логина закрываем: procedure TfmLogin.btnOkClick(Sender: TObject); begin if edPass.Text = qUserspassword.AsString then begin UserData.ID := qUsersid.AsInteger; UserData.Name := qUsersname.AsString; UserData.Group := qUsersid_group.AsInteger; fmMain := TfmMain.Create(Application); fmMain.Show; SetAsMainForm(fmMain); close; end else begin lbInfo.Text := 'Ошибка. Пароль неверный.'; end; end; Ingalime, Rusland и #WAMACO 3 Цитата Ссылка на комментарий
0 Tumaso Опубликовано 15 февраля, 2018 Поделиться Опубликовано 15 февраля, 2018 Изменить главную форму можно простым Application.MainForm := fmMain; Rusland 1 Цитата Ссылка на комментарий
Вопрос
Steepe_Hare
В настройках проекта можно поставить галку "Include splash image" и выбрать картинку для заставки. А как получить доступ к окну заставки, то есть, например, динамически менять текст там?
Ссылка на комментарий
9 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.