Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.024 c
11-1068996521
DeF
2003-11-16 18:28
2004.05.16
Дочерние окна


14-1082751584
Andy BitOff
2004-04-24 00:19
2004.05.16
А когда и кто (если не секрет) смотрит почту на adm@delphimaster.


7-1081312087
Sergey N
2004-04-07 08:28
2004.05.16
Перехват Shutdown Windows.


1-1083500489
AndrewVolkov
2004-05-02 16:21
2004.05.16
Какой-то странный глюк при работе с тхт файлом


7-1081003358
CAHEK
2004-04-03 18:42
2004.05.16
Как из Винды в проге открыть файл???




   Наверх