Вопрос delphi как узнать что форма не сверху?

Регистрация
17 Ноя 2013
Сообщения
83
Репутация
-3
Спасибо
0
Монет
0
if not IsWindowVisible(Handle) or IsIconic(Handle) then
есть такое, но оно паказывает свернутали форма или нет, а надо узнать что ее не видно на экране что она не сверху всех, как
 
Функция GetNextWindow возвращает первое окно, которое выше (или ниже, в зависимости от второго аргумента) твоего или NULL если таких окон нет. Соответственно вызываешь GetNextWindow и смотришь результат: если NULL - значит твоё окно самое верхнее, иначе - есть окна выше него. Возможно что далее тебе нужно будет проверить перекрывают ли они твоё окно или находятся в стороне и никак не мешают. Это можно сделать получив их координаты и размеры функцией GetWindowRect и сравнив с координатами и размерами своего окна (для чего пригодится функция IntersectRect). Чтобы проверить все окна (из тех что выше) вызывай GetNextWindow в цикле, в первый раз передав ей hwnd своего окна, каждый следующий раз - тот hwnd, который она вернёт и так до тех пор пока она не вернёт NULL.
 
Назад
Сверху