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

Вниз

Подскажите, кто знает?   Найти похожие ветки 

 
boa ©   (2003-01-27 07:46) [0]

Какой Message посылается приложениям при нажатии на таскбаре кнопки "Свернуть все окна"?


 
Anatoly Podgoretsky ©   (2003-01-27 08:06) [1]

WM_NINIMIZE по видимому


 
boa ©   (2003-01-27 08:36) [2]

Если вы имеете ввиду WM_MINIMIZE, то такое сообщение даже отсутствует в документации, сообщение о минимизации отправляется через WM_SYSCOMMAND. Но я проверял, при нажатии на "свернуть все окна" WM_SYSCOMMAND не посылается приложению. Посылается сообщение - $C096. А что это за сообщение так и не могу найти.


 
Игорь Шевченко ©   (2003-01-27 09:43) [3]

Внутреннее сообщение Shell"a. Вообще, команда "свернуть все окна" на самом деле устанавливает окно рабочего стола на передний план. Так, что окна не сворачиваются, а заслоняются


 
boa ©   (2003-01-27 10:58) [4]

> Игорь Шевченко
Может конечно оно так и есть, однако если открыть системное меню приложения, после того как были свернуты все окна, то в нем пункт меню "Восстановить" является доступным. А это говорит о том, что приложение знает, что оно находится в минимизинованном состояния, и пусть окна физически заслоняются, а получается что приложение об этом уведомляется. В том то и вопрос - как?


 
DVM ©   (2003-01-27 11:01) [5]


> boa


> пункт меню "Восстановить" является доступным

не факт, что так и есть. Неоднократно сталкивался с тем, что системное меню отображает не реальное состояние окна, а вообще неизвестно какое.


 
boa ©   (2003-01-27 12:20) [6]

> DVM

Может в каких то случаях ваше утверждение и имеет место, но в данном случае это стабильный и реальный факт. Кроме того могу утверждать (по крайней мере для WinXP), что при сворачивании всех окон - окна приложения получают сообщение WM_SHOWWINDOW c параметром HIDE, а не просто прячутся за окно рабочего стола.
Так, что состояние окна приложения и меню приложения очень даже соответствуют друг другу.

Ну дык может кто посоветует в каком направлении нужно копать, что бы поймать момент сворачивания всех окон.


 
Игорь Шевченко ©   (2003-01-27 12:21) [7]

boa © (27.01.03 10:58)

Угу, знает. Но сообщения ему при этом можно и не посылать, достаточно установить стиль WM_MINIMIZE в окне, и строчка "Восстановить" появится в системном меню.


 
boa ©   (2003-01-27 12:39) [8]

Я понял что мы друг друга не совсем понимаем.
Попробую пояснить всю проблемму:
Мне нужно знать когда приложение находится в минимизированном состоянии, а когда нет.
Дык вот единственный момент (если он конично единственный) это когда сворачиваются все окна, у меня выпадает из обработки, при чем мне нужно обработать это сообщение до того как скроется окно приложения.
Вот Так.


 
Игорь Шевченко ©   (2003-01-27 12:56) [9]

Окну посылается сообщение WM_SIZE с wParam = SIZE_MINIMIZED


 
boa ©   (2003-01-27 13:07) [10]

>Игорь Шевченко © (27.01.03 12:56)

Шас попробуем!


 
Anatoly Podgoretsky ©   (2003-01-27 13:26) [11]

Игорь Шевченко © (27.01.03 09:43)
Точно и даже всплывающая подсказка называется Show Desktop, остальное на совести переводчика.


 
boa ©   (2003-01-27 14:05) [12]

Да, WM_SIZE - это почти то, что нужно. Проблемка только в том что это сообшение приходит после того, когда форма уже скрыта.
Ну и на этом большое СПАСИБО!
Может чего и выкраю.


 
KDenis ©   (2003-01-27 19:45) [13]

а компонент ApplicationEvents (впервые в Delphi5) получает все сообщения до того, как их получит окно, и сообщение это можно стереть (тоесть, сделать так, чтоб окно его не получило)...


 
boa ©   (2003-01-28 06:02) [14]

>KDenis

Если вы имеете ввиду OnMessage то он получает далеко не все сообщения (насколько я знаю там обрабатываются сообщения переданные через PostMessage). А OnMinimize при сворачивании всех окон тоже не отробатывает.



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

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

Наверх




Память: 0.5 MB
Время: 0.018 c
3-76274
Igor Kashtanov
2003-03-06 23:42
2003.03.24
Поиск в TQuery


3-76366
PVOzerski
2003-03-06 10:38
2003.03.24
Нужна разумная идея


1-76499
Alexxxxx
2003-03-12 17:43
2003.03.24
Диаграммы в Delphi


7-76709
Alex G
2003-01-27 23:14
2003.03.24
Порта...


3-76324
denis24
2003-03-05 15:20
2003.03.24
TFields.onGetText