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

Вниз

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

 
Tack   (2005-08-17 14:42) [0]

в программе идет дамп сообщений о некоторых асинхронных событиях. Следует мигать значком в трее при новом сообщении, если окно свернуто или частично/полностью перекрыто другими окнами.

Как узнать, что окно с данным HWND перекрыто другими окнами на экране или минимизировано/спрятано? Если окно не перекрыто, а просто неактивно, то ничего делать не надо.

Хотелось бы написать одну булевскую функцию типа WantMessage, которая принимает только HWND. Подскажите, может есть готовые в API или VCL


 
DVM ©   (2005-08-17 14:44) [1]


> или минимизировано/спрятано

IsIconic()


 
Tack   (2005-08-17 14:54) [2]

спасибо. А как насчет "частично перекрыто"?


 
Leonid Troyanovsky ©   (2005-08-17 14:57) [3]


> Tack   (17.08.05 14:42)  

> Как узнать, что окно с данным HWND перекрыто другими окнами
> на экране или минимизировано/спрятано? Если окно не перекрыто,
> а просто неактивно, то ничего делать не надо.


Find windows that may cover another window.

Var
 hW: HWnd;
 r: TRect;
begin
 hw := Handle;
 While IsWindow(hw) Do Begin
   hw := GetWindow( hw, GW_HWNDPREV );
   If IsWindowVisible(hw) and not IsIconic( hw ) Then Begin
     ... use GetWindowRect( hw, r ) to get candidate windows
     rect and check if it intersects the forms BoundsRects via
     IntersectRect
   End;
 End;
end;

Peter Below (TeamB)  100113.1...@compuserve.com)

--
Regards, LVT.


 
Tack   (2005-08-17 15:00) [4]

всем спасибо, вопрос закрыт.



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

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

Наверх




Память: 0.47 MB
Время: 0.031 c
4-1124146408
alex-drob
2005-08-16 02:53
2005.10.16
Изменить рабочую область


14-1127299712
DelphiN!
2005-09-21 14:48
2005.10.16
Алексей Дубовцев "Microsoft .NET в подлиннике" электоронная верс.


3-1125819377
Hata
2005-09-04 11:36
2005.10.16
Как программно очистить всю таблицу от записей?


6-1119560559
viktorovich
2005-06-24 01:02
2005.10.16
Подключение к локальной сети


2-1126692764
Маклауд
2005-09-14 14:12
2005.10.16
Где arctg можно взять?