Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Создать второе окно с иконкой на панели задач [D2005]


Виктор007 ©   (2008-01-29 16:56:00) 

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

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

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

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


Anatoly Podgoretsky   (2008-01-29 21:06:00) [1]

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

И SystemModal :-)


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

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


clickmaker   (2008-01-29 18:42:00) [3]


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

Exit Windows/Restart/Power off


Anatoly Podgoretsky   (2008-01-29 18:39:00) [4]

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

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


clickmaker   (2008-01-29 18:39:00) [5]


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

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


webpauk   (2008-01-29 18:37:00) [6]

может біть:
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;


ANB   (2008-01-29 18:11:00) [7]


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

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


clickmaker   (2008-01-29 18:05:00) [8]


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

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


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

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


ANB   (2008-01-29 17:59:00) [10]


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

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


clickmaker   (2008-01-29 17:54:00) [11]


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

чем длиннее?


ANB   (2008-01-29 17:48:00) [12]


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

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


clickmaker   (2008-01-29 17:46:00) [13]


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

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

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


ANB   (2008-01-29 17:44:00) [14]


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

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


clickmaker   (2008-01-29 17:42:00) [15]

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


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

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


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

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:08:00) [18]

Мало кода


Наверх

Титульная страница Поиск, карта сайта Написать письмо