Форум: "WinAPI";
Текущий архив: 2005.10.16;
Скачать: [xml.tar.bz2];
Внизузнать, перекрыто ли окно частично другими окнами или свернуто Найти похожие ветки
← →
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 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.10.16;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.031 c