![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Какое сообщение приходит при...
Jolik © (2005-04-25 13:31:00)повторном нажатии на заголовок на панели задач. Поясню:
когда запускаешь какую-нить программу появляется ее окно.
Когда нажимаешь на системную кнопку "Свернуть" окна посылается сообщение WM_SYSCOMMAND с wParam=SC_MINIMIZE.
А на панели задач появляется кнопка с названием программы (или как там ее назвать, ярлык, значок...). Если на эту кнопку нажать - окно программы сворачивается. Но сообщение при этом происходит другое. Какое?
Спасибо!
alpet (2005-04-25 15:16:00) [1]
procedure TForm1.OnAppMsg(var Msg: TMsg; var Handled: Boolean);
begin
if (msg.message = sc_minimize) then
...
end; // OnAppMsg
procedure TForm1.FormCreate (Sender: TObject);
begin
Application.OnMessage := self.OnAppMsg;
end; // FormCreate
При SC_MINIMIZE в форму поступает также сообщение WM_SHOW с SW_MINIMIZE.
xShadow (2005-04-25 14:55:00) [2]
> И че делать то теперь?
TApplicationEvents
КиТаЯц (2005-04-25 14:52:00) [3]Боюсь ошибиться, но кажется происходит
Application.OnActivateилиApplication.OnDeactivateв зависимости от того активно твое приложение или нет... Это может подойти если VCL используется...
Marser (2005-04-25 14:48:00) [4]Если alpet прав, то всё то же. Только для Application.Handle
Jolik (2005-04-25 14:01:00) [5]ах вона че! Борланд намудрил! И че делать то теперь?
alpet (2005-04-25 13:56:00) [6]оно приходит, только не в форму, а невидимое окно обьекта Application. Проверял через MS Spy++.
ANB (2005-04-25 13:50:00) [7]Хук WH_GETMESSAGE ставить пробовал ?
Jolik (2005-04-25 13:46:00) [8]в том то все и дело - что когда нажимаешь на системную кнопку "Свернуть" окна посылается сообщение WM_SYSCOMMAND с wParam=SC_MINIMIZE. А при нажатии на кнопку на панели задач (при этом окно тоже сворачивается) это сообщение не приходит.
mgcr (2005-04-25 13:33:00) [9]
> Но сообщение при этом происходит другое. Какое?
WM_SYSCOMMAND, SC_MINIMIZE