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

Вниз

Как программно узнать, минимизировано ли главное окно приложения?   Найти похожие ветки 

 
_Вован_   (2004-04-06 16:21) [0]

Собственно вопрос в теме:)


 
Игорь Шевченко ©   (2004-04-06 16:34) [1]

IsIconic(Application.MainForm.Handle)


 
_Вован_   (2004-04-06 17:00) [2]

Прикол в том, что функция IsIconic не работает при минимизированном приложении. Т.е. непонятно, какое значение она выдает при этом.

Если например поставить ее в таймер и заставить что-либо делать при условии, когда IsIconic=True - ничего не происходит.

Собственно мне надо, чтобы по TTimer при условии минимизированности приложения что-либо делалось отличное от того периода времени, когда приложение нормал или максимизэ.


 
Digitman ©   (2004-04-06 17:27) [3]


> ничего не происходит


а что , по-твоему, должно происходить ?


 
_Вован_   (2004-04-06 18:27) [4]

2 Digitman

Должен выполняться тот кусок кода по ветвлению, при котором IsIconic(Application.MainForm.Handle) = True

Т.е. я пишу некий код для TTimer (Enabled:=True; Interval:=2000), например такой:

if IsIconic(Application.MainForm.Handle)
then ShowMessage("Приложение минимизировано")
else ShowMessage("Приложение видимо");

И пока приложение НЕ минимизировано, каждых 2 секунды показывается сообщение "приложение видимо", а как только приложение минимизировать (TTimer ведь не останавливаю!), сообщения перестают выдаваться.

Хорошо, я знаю, что Вы сейчас скажете:) Давайте для чистоты эксперимента будем накапливать значение некоей переменной вместо СендМессадж. Попробуйте - при минимизированном приложении значение накапливаться не будет, пробовал...

Итак, уважаемые мастера, повторяю вопрос: как программно изловить ситуацию минимизированности приложения, чтобы в этом случае выполнить некие действия?


 
DVM ©   (2004-04-06 19:55) [5]

И опять последует ответ IsIconic. Все работает прекрасно. Просто некоторые программы мудрят с главными окнами или скрывают окна вместо минимизации. Можно еще IsWindowVisible попробовать.


 
Игорь Шевченко ©   (2004-04-06 20:26) [6]


> Итак, уважаемые мастера, повторяю вопрос: как программно
> изловить ситуацию минимизированности приложения, чтобы в
> этом случае выполнить некие действия?


Обрабатывать сообщение WM_SYSCOMMAND с (wParam and $FFF0) = SC_MINIMIZE


 
GanibalLector ©   (2004-04-06 21:12) [7]

Удалено модератором


 
Mim1   (2004-04-07 07:02) [8]

OnMinimize event (TApplication)



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

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

Наверх





Память: 0.47 MB
Время: 0.034 c
4-1080211220
Volodya_
2004-03-25 13:40
2004.05.16
Потоки


3-1082525479
guest_Dmitry
2004-04-21 09:31
2004.05.16
Изменить формулу вычисления поля Computed Source


7-1080938479
profi
2004-04-03 00:41
2004.05.16
Работа с модемом


3-1082550944
Санёк
2004-04-21 16:35
2004.05.16
Поле типа TCurrencyField, как убрать рубли ?


6-1079985711
it
2004-03-22 23:01
2004.05.16
Отловить DialUp соединение





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский