Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
15-1477431002
Юрий
2016-10-26 00:30
2019.03.10
С днем рождения ! 26 октября 2016 среда


4-1268219090
Maksim V.
2010-03-10 14:04
2019.03.10
Стиль меню под Vista и 7


2-1477614402
Artem78
2016-10-28 03:26
2019.03.10
Получить адрес потока видео с Youtube


2-1478620871
Некто
2016-11-08 19:01
2019.03.10
StringGrid.Objects


2-1478291127
Иван
2016-11-04 23:25
2019.03.10
Определить путь к файлу (TSearchRec)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский