Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.02.24;
Скачать: CL | DM;

Вниз

Создать второе окно с иконкой на панели задач   Найти похожие ветки 

 
Виктор007   (2008-01-29 16:56) [0]

Здравствуйте Мастера!
У меня такой вопрос - приложение состоит из двух форм. Главная форма вызывает форму:

 fMain := nil;
 Application.CreateForm(TfMain, fMain);
 fLogin.Hide;
 fMain.Show;

Но при сворачивании такой формы она сворачивается в маленькую полоску около меню пуск. А значек на панели задач - отображается от скрытой формы...

А мне нужно чтобы значек от скрытой формы исчез, а появилась там форма fMain. Все что знал перепробовал - ничего не получается.


 
Игорь Шевченко ©   (2008-01-29 17:08) [1]

Мало кода


 
Виктор007   (2008-01-29 17:29) [2]

1. Создал приложение с одной формой. Главную форму назвал fLogin
2. Создал форму, назвал fMain
3. Убрал новую форму из AutoCreated
4. На главную форму fLogin бросил кнопку, в обработчике кнопки написал:
fMain := nil;
Application.CreateForm(TfMain, fMain);
fLogin.Hide;
fMain.Show;
5. Все, запускаю приложение, показывается форма с кнопкой. Кликаю кнопку - с панели задач приложение исчезает, и исчезает форма fLogin. Показывается и остается только fMain. Но если её свернуть - она сворачивается в прямоугольничек чуть выше пуска а не на панель задач.

Вопрос: как сворачивать это окно на панель задач. И чтобы оно отображалось там.


 
Игорь Шевченко ©   (2008-01-29 17:34) [3]

Как создается форма fLogin ?


 
clickmaker ©   (2008-01-29 17:42) [4]

а главная форма-то в настройках проекта хоть fMain?


 
ANB ©   (2008-01-29 17:44) [5]


> Виктор007   (29.01.08 16:56)

Эта. Верни на место код в файле проекта.
Сделай главной и автосоздающейся формой главную.
В онШоу главной формы вызывай форму логина. И не парься.


 
clickmaker ©   (2008-01-29 17:46) [6]


> В онШоу главной формы вызывай форму логина

зачем в ОнШоу?
в dpr

if SomeThing.SuccessLogin then
begin
   Application.CreateForm(TMainForm, MainForm);
   Application.Run;
end;


 
ANB ©   (2008-01-29 17:48) [7]


> clickmaker ©   (29.01.08 17:46) [6]

Мона и в ДПР. Но длиннее.


 
clickmaker ©   (2008-01-29 17:54) [8]


> [7] ANB ©   (29.01.08 17:48)

чем длиннее?


 
ANB ©   (2008-01-29 17:59) [9]


> clickmaker ©   (29.01.08 17:54) [8]

Хотя и не длиннее. Скорее привычка. Ну и лениво файл проекта трогать.
А чем ОнШоу хуже ?


 
easy ©   (2008-01-29 18:00) [10]

1. http://dfc.com.ru/?sid=2&id=7&itemid=129
2. http://dfc.com.ru/download.php?d=login (3кб)


 
clickmaker ©   (2008-01-29 18:05) [11]


> А чем ОнШоу хуже ?

лишние теледвижения (создание формы и хрен знает, сколько еще ресурсов), а логин может и не пройти


 
ANB ©   (2008-01-29 18:11) [12]


> лишние теледвижения (создание формы и хрен знает, сколько
> еще ресурсов), а логин может и не пройти

Дык это. Датамодуль все равно создавать с объектом для сессии. Иначе как я проверять логин то буду ? Та не так уж много главная форма обычно ест. В любом случае, если при отказе в логине закрыть приложение, то ресурсы почистятся.
А бывает, когда при отказе логинится нужно все равно главную форму показывать (см ТОАД и ПЛ/СКЛ девелопер). Так что больших выгод нету.
Впрочем, как удобнее, так и пишем.


 
webpauk ©   (2008-01-29 18:37) [13]

может біть:
private
 procedure CreateParams(var Params :TCreateParams); override;

procedure TForm.CreateParams(var Params :TCreateParams);
begin
 inherited CreateParams(Params);
 Params.ExStyle:=Params.ExStyle or WS_Ex_AppWindow;
 Params.WindowClass.style:=Params.WindowClass.style;
end;


 
clickmaker ©   (2008-01-29 18:39) [14]


> [13] webpauk ©   (29.01.08 18:37)

а в чем магический смысл последней строчки? )


 
Anatoly Podgoretsky ©   (2008-01-29 18:39) [15]

> clickmaker  (29.01.2008 17:46:06)  [6]

Зачем в проект, в главную форму и там пункты меню - Login/Logout и просто и надежно.
Если логин не пройдет после Н попыток, то в меню разрешать только Login/Exit/About


 
clickmaker ©   (2008-01-29 18:42) [16]


> Если логин не пройдет после Н попыток, то в меню разрешать
> только

Exit Windows/Restart/Power off


 
Виктор007   (2008-01-29 20:29) [17]

Спасибо большое, столько вариантов и советов. Буду пробовать!


 
Anatoly Podgoretsky ©   (2008-01-29 21:06) [18]

> clickmaker  (29.01.2008 18:42:16)  [16]

И SystemModal :-)



Страницы: 1 вся ветка

Текущий архив: 2008.02.24;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.022 c
2-1201687303
Я
2008-01-30 13:01
2008.02.24
Как получить интервалы дат в неделях года


2-1200084473
PVM
2008-01-11 23:47
2008.02.24
Как получить имя компа и имя юзера?


15-1200707661
Trial
2008-01-19 04:54
2008.02.24
Как сделать, чтобы много функций работало параллельно?


2-1201777548
NetSkipper
2008-01-31 14:05
2008.02.24
Приведение типов


2-1201614967
Виктор007
2008-01-29 16:56
2008.02.24
Создать второе окно с иконкой на панели задач