Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.04.18;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.034 c
9-1065642547
oklam
2003-10-08 23:49
2004.04.18
Как делать изометрические спрайты!


3-1080037845
}|{yk
2004-03-23 13:30
2004.04.18
Поддержание синхронности БД


1-1080885974
V-Isa
2004-04-02 10:06
2004.04.18
Изменить свойство "чужого" компонента.


14-1079762597
Alex Konshin
2004-03-20 09:03
2004.04.18
Купил новую машину


1-1080366438
SergeyM
2004-03-27 08:47
2004.04.18
ShellListView





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский