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

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

Сворачивание формы на панель задач


Страницы:   1 2

Helen ©   (2006-11-02 10:08:00) 

Доброго дня. В проекте имеется несколько форм. Почему на панель задач сворачивается только главная форма, а все остальные сворачиваются в левый нижний угол экрана?


novill   (2006-11-02 12:21:00) [1]

Такую кнопку на диалоговом окне не делать )
Запустил прогу - вводи пароль, пока не угадаешь )


Percent   (2006-11-02 12:12:00) [2]

В  mainform.create написать

Интересно, а какие действия предпринимать, если пользователь нажмет "Отмена"? Исключение генерировать? В конструкторе?


novill   (2006-11-02 12:06:00) [3]


> [13] Helen   (02.11.06 11:09)


Форма ввода паролей не должна быть главной.

Как вариант

В  mainform.create написать

Begin

passwordform:=Tpasswordform.create(Self);
passwordform.showmodal;
...

end;


Helen   (2006-11-02 11:45:00) [4]

спасибо, попожее попробую разобраться. Сейчас некогда


Percent   (2006-11-02 11:34:00) [5]

[13] Helen   (02.11.06 11:09)

Лучше главную форму не делать стартовой формой. Главная форма на то и главная, чтобы присутствовать в протяжение работы программы. Но если "так надо", то, как вариант:

type
 TForm2 = class(TForm)
 private
   procedure WMSysCommand(var AMsg: TWMSysCommand); message WM_SYSCOMMAND;
 end;

procedure TForm2.WMSysCommand(var AMsg: TWMSysCommand);
begin
 if (AMsg.CmdType = SC_MINIMIZE) then
   Application.Minimize
 else
   inherited;
end;


Desdechado   (2006-11-02 11:31:00) [6]

Делать окно ввода пароля главным в программе несколько опрометчиво.
Не, резон-то, конечно, есть, типа "без пароля никуда" :)
Но лучше не надо.


Elen   (2006-11-02 11:28:00) [7]


> Плохиш
А разве автор вындовс xp упоминала?

Тогда высказывание
причем сворачиваться надо не отдельным значком на панели
задач, а в тот же)

Мне не особо понятно (хотя если реализовать через меню...)


Плохиш   (2006-11-02 11:18:00) [8]


> Elen ©   (02.11.06 11:12) [14]

А разве автор вындовс xp упоминала?


Плохиш   (2006-11-02 11:17:00) [9]


> По кнопке ОК окно закрывается, проверяется вся информация
> и появляется окно второй формы. Это окно является основным
> для работы с программой.

Вот это окно и надо делать главным в программе, а Ваше окно для ввода служебной информации сделайте обычным дочерним диалогом.


Elen   (2006-11-02 11:12:00) [10]


> причем сворачиваться надо не отдельным значком на панели
> задач, а в тот же

А это как? - типа Правый клик по TaskBar - свойства - Группировать сходные кнопки задач?


Helen   (2006-11-02 11:09:00) [11]

Описываю ситуацию подробно.
Появляется первое  окно (главная форма), в нем вводится служебная информация, в том числе и пароли доступа к серверам. На панели задач появляется значок программы. По кнопке ОК окно закрывается, проверяется вся информация и появляется окно второй формы. Это окно является основным для работы с программой. В заголовке окна есть кнопки Минимизировать и Закрыть. Если нажимаешь на кнопку Минимизировать, то мне бы хотелось, чтобы окно сворачивалось на панель задач (причем сворачиваться надо не отдельным значком на панели задач, а в тот же), а не в левый нижний угол экрана.


Elen   (2006-11-02 11:00:00) [12]


> Helen, Anatoly Podgoretsky

Ради эксперимента :
Когда я создаю форму не через Application.CreateForm, а вот так :

unit Unit1;

interface

uses   unit2,
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs;

type
 TForm1 = class(TForm)
   procedure FormCreate(Sender: TObject);
 private
   { Private declarations }
 public frm:Tform2;
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
frm:=TForm2.CreateParented(GetDesktopWindow);
frm.Show;

show;
end;

end.

вторая форма сворачивается в кнопочку, но тогда не очень удобно это окно таскать.


Anatoly Podgoretsky   (2006-11-02 10:47:00) [13]

> Helen  (02.11.2006 10:31:08)  [8]

А они нужны, что бы можно было независимо сворачивать.


Percent   (2006-11-02 10:36:00) [14]

И, главное, как их потом обратно развернуть?
Кнопочки-то для контроля окна - нету...


Percent   (2006-11-02 10:34:00) [15]

Так, насчет кнопочек я погорячилась, их нет.

И куда теперь формам сворачиваться? Таскбар-то большой...


Helen   (2006-11-02 10:31:00) [16]

Так, насчет кнопочек я погорячилась, их нет.


Anatoly Podgoretsky   (2006-11-02 10:26:00) [17]

> Helen  (02.11.2006 10:13:02)  [2]

Стиль окна неверный и собственник наверно главная форма.
Поведение соответсвует дизайну Виндоус.


novill   (2006-11-02 10:22:00) [18]

> Доброго дня. В проекте имеется несколько форм. Почему на
> панель задач сворачивается только главная форма, а все остальные
> сворачиваются в левый нижний угол экрана?

А как по-твоему должно быть?


Percent   (2006-11-02 10:21:00) [19]

как-то не по-человечьи решили, пользователям не удобно

Думаешь? Думаешь, если каждому окну дать по кнопке на таскбаре, это будет удобно? Полэкрана кнопок...


Percent   (2006-11-02 10:16:00) [20]

Кнопочки есть

А сворачиваются "в левый нижний угол экрана"? Вот беда-то!
Колись, каким образом "кнопочки на таскбаре"  появились?


Страницы:   1 2

Наверх

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