Главная страница
    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
3-1082701180
BPK
2004-04-23 10:19
2004.05.16
TParameters без базы данных, сам по себе.


1-1083674882
Girder
2004-05-04 16:48
2004.05.16
Как быстро удалить указатель из списка


8-1077280777
Batoon
2004-02-20 15:39
2004.05.16
что можно сделать с графиком


9-1071270135
Legafor
2003-12-13 02:02
2004.05.16
2D Движок


8-1077474036
Push
2004-02-22 21:20
2004.05.16
Звук с модема





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