Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2004.09.12;
Скачать: [xml.tar.bz2];

Вниз

Вопрос по окнам   Найти похожие ветки 

 
Senti   (2004-07-31 12:49) [0]

Столкнулся с проблемой и не могу решить.

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

Все бы было хорошо, но при нажатии на иконку в трее процедура GetForegroundWindow выдает Handle трея  и даже если окно находится на переднем плане, то определить не получается.

Как можно определить окно на переднем плане или его перекрывают другие (исключая трей) ?


 
Senti   (2004-07-31 17:51) [1]

Я частично решил проблему. Установил таймер в 100 мс, который запоминает последнее активное окно и исключает трей.
потом идет проверка на последнее активное окно.

Все работает хорошо... Но есть маленький нюанс. Если окно на экране, но прежде работал с другими окнами и все их свернул. Осталось мое окно, но оно не активное. То этот метод не срабатывает, он думает что сверху моего окна есть другие..
Как получить окно, которое действительно поверх всех оно может быть активным и не активным.


 
GuAV ©   (2004-07-31 19:24) [2]

WindowFromPoint ?



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

Форум: "WinAPI";
Текущий архив: 2004.09.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.045 c
4-1090617944
кактусбел
2004-07-24 01:25
2004.09.12
Сканирование памяти


1-1093709405
][ncognito
2004-08-28 20:10
2004.09.12
Сканирование директорий и файлов


3-1092810273
Belkova
2004-08-18 10:24
2004.09.12
Мастера Delphi! Подскажите, пожалуйста. В приложении из разных


3-1092386137
Вика
2004-08-13 12:35
2004.09.12
Проблема с текстовым полем...


14-1093269258
antonn
2004-08-23 17:54
2004.09.12
Программулина...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский