Вниз
Скачать: 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
1-1083221665
Yuri2004
2004-04-29 10:54
2004.05.16
Проблема с Interface ом


7-1080738078
Прямой
2004-03-31 17:01
2004.05.16
Очередь сообщений


1-1083422566
Leos
2004-05-01 18:42
2004.05.16
"Нестандартная форма"


7-1081108556
CAHEK
2004-04-04 23:55
2004.05.16
Flash в Делфийной проги без FlashPlayer a


6-1080281940
Demetrius2003
2004-03-26 09:19
2004.05.16
Как пробится к компьютеру в локальной сети через инет




   Наверх