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

Вниз

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

 
_Вован_   (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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.028 c
1-1083685629
Татьяна
2004-05-04 19:47
2004.05.16
StringGrid


3-1082356405
desha
2004-04-19 10:33
2004.05.16
IBExpert стал зависать


14-1083157053
Vvv
2004-04-28 16:57
2004.05.16
Сетевые приколы


11-1069353966
=Sniper=
2003-11-20 21:46
2004.05.16
MsgBox


4-1080746515
_san_
2004-03-31 19:21
2004.05.16
Запуск внешнего приложения