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

Вниз

Как отловить событие сворачивания формы?   Найти похожие ветки 

 
kdy ©   (2004-03-26 11:22) [0]

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


 
Rouse_ ©   (2004-03-26 11:33) [1]

TApplicationEvents.OnMinimize


 
Игорь Шевченко ©   (2004-03-26 11:34) [2]

type
 TMyForm = class(TForm)
 ...
 private
   procedure WMSysCommand (var Message: TMessage); message WM_SYSCOMMAND;
 ...
 end;

procedure TMyForm.WMSysCommand (var Message: TMessage);
begin
 if Message.WParam = SC_MINIMIZE then
   PostMessage(Application.MainForm.Handle, WM_SYSCOMMAND, SC_MINIMIZE, 0);
 inherited;
end;

И так в каждой форме :)


 
Rouse_ ©   (2004-03-26 11:38) [3]

Опс, там же несколько форм, дествительно просмотрел...


 
kdy ©   (2004-03-26 12:10) [4]

> [2] Игорь Шевченко ©   (26.03.04 11:34)
Спасибо. Помогло. Сделал так

procedure TForm2.WMSysCommand (var Message: TMessage);
begin
if Message.WParam = SC_MINIMIZE then begin
//   PostMessage(Application.MainForm.Handle, WM_SYSCOMMAND, SC_MINIMIZE, 0);
  Application.Minimize;
  exit;
end;
inherited;
end;

PS А как свернуть такое приложение щелчком мышки по его кнопке на панели задач?


 
Игорь Шевченко ©   (2004-03-26 12:49) [5]


> А как свернуть такое приложение щелчком мышки по его кнопке
> на панели задач


Какое "такое" ?

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


 
kdy ©   (2004-03-26 16:07) [6]

Уточняю вопрос.

1)Когда запущено приложение и активна одна только главная форма - это приложение сворачивается щелчком мышки по его кнопке на панели задач.

2)Когда запущено приложение и активна  не главная форма, причём модальная - это приложение НЕ сворачивается щелчком мышки по его кнопке на панели задач.  

Вопрос: как свернуть приложение в случае 2)  щелчком мышки по его кнопке на панели задач?


 
panov ©   (2004-03-26 19:45) [7]


...
procedure MyWndProc(var Message: TMessage);message WM_ACTIVATEAPP;
...
procedure TForm2.MyWndProc(var Message: TMessage);
begin
 if Message.WParam=0
   then Application.Minimize
   else Application.Restore;
end;
...


 
Vemer ©   (2004-03-27 00:11) [8]

Tot в кладовке вариант лежит...
http://delphibase.endimus.com/?action=viewfunc&topic=appctrl&id=10513


 
kdy ©   (2004-03-29 10:15) [9]

> [7] panov ©   (26.03.04 19:45)

Приложение сворачивается, но только до тех пор, пока я держу нажатой кнопку мышки. Отпускаю мышку - приложение снова разворачивается.

>[8] Vemer ©   (27.03.04 00:11)
Именно так я и сделал.
Теперь возник другой вопрос - [6] kdy ©   (26.03.04 16:07)



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

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

Наверх




Память: 0.49 MB
Время: 0.033 c
1-1080914299
P_a_s_h_a
2004-04-02 17:58
2004.04.18
Как уменьшить мерцание формы при перерисовке?


14-1080392583
X9
2004-03-27 16:03
2004.04.18
DLL на Turbo Pascal


14-1080481558
Bumer
2004-03-28 17:45
2004.04.18
Не могу разобраться с Visual Basic ом


9-1065961007
Larrel
2003-10-12 16:16
2004.04.18
2D Isometric Engine для RPG


4-1075488257
stainer
2004-01-30 21:44
2004.04.18
loadbitmap не пашет!