Форум: "Система";
Текущий архив: 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.46 MB
Время: 0.036 c