Форум: "Основная";
Текущий архив: 2019.03.10;
Скачать: [xml.tar.bz2];
ВнизСплэш окно, MainWindow Найти похожие ветки
← →
DevilDevil © (2013-01-22 09:57) [0]Здравствуйте уважаемые форумчане
Когда то давным давно я уже пробовал такую штуку, но помню какие-то запары, когда при сворачивании окна, оно идёт не в панель задач, а в левый нижний угол.
В общем мне нужно реализовать окно логина перед входом в программу. Как это сделать в плане рутины MainWindow ? Какое окно сделать главным: сплеш окно или основную форму ?
← →
clickmaker © (2013-01-22 12:06) [1].dpr
if TLoginForm.Execute then
Application.Run;
← →
DevilDevil © (2013-01-22 14:41) [2]> clickmaker © (22.01.13 12:06) [1]
спасиб!
завтра проверю
← →
DevilDevil © (2013-02-15 12:35) [3]> clickmaker © (22.01.13 12:06)
проверил только через месяц :)
форма не имеет метода Execute, тем более классового
Delphi7
← →
Игорь Шевченко © (2013-02-15 13:37) [4]"C:\Program Files\Borland\Delphi\Demos\Db\MastApp\mastapp.dpr"
как-то так
← →
Плохиш © (2013-02-15 13:50) [5]
> DevilDevil © (15.02.13 12:35) [3]
> > clickmaker © (22.01.13 12:06)
>
> проверил только через месяц :)
> форма не имеет метода Execute, тем более классового
Надо нанять программиста - он сделает ей этот метод и даже классовый.
← →
брат Птибурдукова (2013-02-15 14:38) [6]
> Плохиш © (15.02.13 13:50) [5]
Флёнов о таком не писал!
← →
DevilDevil © (2013-02-15 15:02) [7]> Игорь Шевченко © (15.02.13 13:37) [4]
begin
Application.Initialize;
SplashForm := TSplashForm.Create(Application);
SplashForm.Show;
SplashForm.Update;
Application.Title := "Marine Adventures Order Entry";
Application.HelpFile := "MASTAPP.HLP";
Application.CreateForm(TMastData, MastData);
...
SplashForm.Hide;
SplashForm.Free;
Application.Run;
end.
у меня при таком подходе окно сразу же закрывается
сделал так:var
ret: integer;
begin
Application.Initialize;
Application.Title := "УчётДел";
with TLoginForm.Create(Application) do
begin
ret := ShowModal();
Free;
end;
if (ret <> mrOk) then exit;
Application.CreateForm(TMainForm, MainForm);
Application.Run;
end.
но появляется та же проблема, о которой говорил в [0]
при сворачивании окна логирования, оно идёт не в панель задач, а в левый нижний угол. Как выход - запретить кнопку сворачивания окна. Но я в первую очередь хочу понять, как заставить и LoginForm и MainForm адекватно сворачиваться в панель задач
← →
DevilDevil © (2013-02-15 15:04) [8]> брат Птибурдукова (15.02.13 14:38) [6]
> Флёнов о таком не писал!
у тебя, как специалиста лучше него, есть прекрасная возможность продемонстрировать свои навыки
> Плохиш © (15.02.13 13:50) [5]
> Надо нанять программиста - он сделает ей этот метод и даже классовый.
посоветуй какого-нибудь толкового ?
только я надеюсь ты посоветуешь не себя. Ибо специалист, не умеющий читать - нам не нужен
← →
знайка (2013-02-15 15:22) [9]
> оно идёт не в панель задач, а в левый нижний угол
ошибка раньше 17 строки.
← →
DevilDevil © (2013-02-15 15:27) [10]> знайка (15.02.13 15:22) [9]
создай проект с двумя формами
одна auto-created, другая available
выполни код из [7], нажми на "свернуть"
сделай элементарные действия прежде, чем засорять мою ветку
← →
Игорь Шевченко © (2013-02-15 16:14) [11]В приведенном примере сплеш-форма не может быть свернута. В панель задач без дополнительных ухищрений минимизируется только Application.MainForm.
← →
DevilDevil © (2013-02-15 16:32) [12]> Игорь Шевченко © (15.02.13 16:14) [11]
о том и речь
рассуждаем логически, с точки зрения пользователя
он кликает по ярлыку - открывается окно логина
для него оно - главное в данный момент
может быть у него пароль записан в "Моих документах", может надо временно свернуть чтобы глаза не мозолило. И при свёртывании программа ведёт себя нелогично, сворачиваясь в левый нижний угол. Как грамотно обработать такую ситуацию ?
← →
Savek (2013-02-16 16:50) [13]окошко, для ввода пароля сворачивать нет смысла - оно слишком мало, что бы что-то загораживать, и в нём нет никакой информации, что бы не дай бог не потерять. Если оно "мозолит глаза" его логично закрыть, а дальше два варианта: либо завершаешь всё приложение, либо показываешь главную форму, у которой активны только системные кнопки и два пункта меню "логон" и "эксит". Вот это поведение логично сточки зрения пользователя.
← →
DevilDevil © (2013-02-16 18:22) [14]на что только люди не пойдут, лишь бы не отвечать на вопрос, как грамотно разрулить эти особенности со сворачиванием
> Savek
есть доля истины в твоих словах
но я всё-таки хотел бы найти ответ на интересующий меня вопрос
← →
Германн © (2013-02-17 04:09) [15]
> DevilDevil © (16.02.13 18:22) [14]
>
> на что только люди не пойдут, лишь бы не отвечать на вопрос,
> как грамотно разрулить эти особенности со сворачиванием
На что только некоторые люди готовы пойти, чтобы реализовать свои глупые желания. :)
Ввод пароля - это как правило модальный диалог. Сворачивать его нет смысла как уже было сказано. Так что же ты хочешь, Саид?
← →
Игорь Шевченко © (2013-02-17 16:26) [16]
> но я всё-таки хотел бы найти ответ на интересующий меня
> вопрос
"Managing Taskbar Buttons
The Shell creates a button on the taskbar whenever an application creates a window that isn"t owned. To ensure that the window button is placed on the taskbar, create an unowned window with the WS_EX_APPWINDOW extended style. To prevent the window button from being placed on the taskbar, create the unowned window with the WS_EX_TOOLWINDOW extended style. As an alternative, you can create a hidden window and make this hidden window the owner of your visible window."
http://msdn.microsoft.com/en-us/library/windows/desktop/bb776822(v=vs.85).aspx
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2019.03.10;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.001 c