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

Вниз

Изменение размеров рабочего стола   Найти похожие ветки 

 
Porton   (2002-04-01 16:17) [0]

Уважаемые Мастера!
Я написал так называемое TrayIcon Application, т.е. кнопку на панели задач заменяет значок в SystemTray. Главное окно сделано в виде панели, которая "прилипает" к верней части десктопа. В момент открытия окна я изменяю размеры десктопа:

SystemParametersInfo(SPI_GETWORKAREA, 0, @WorkArea, 0);
WorkArea.Top := WorkArea.Top + Height;
SystemParametersInfo(SPI_SETWORKAREA, 0, @WorkArea, SPIF_SENDCHANGE);

Десктоп перерисовывается (иконки спускаются вниз на высоту моего окна), и все другие окна, которые после этого максимизируются, "понимают" новую верхнюю границу.
Однако. Те окна, которые уже были открыты на этот момент, продолжают свято верить в то, что десктоп не изменился (пока их не максимизируешь).
Как им объяснить, т.е. как заставить все окна перерисоваться?
Заранее благодарен. С уважением, Porton.


 
Dimaond Cat ©   (2002-04-01 23:02) [1]

Если не будет конкретного ответа то:
Для начала попробуй с помощью тогоже winsight32 (стандартная поставка дельфей) посмотреть какой мессаг пробегается по окнам когда ты изменяешь размеры стандартного таскбара, если не поможет то попробуй сделать свое окно и поставив свой обработчик на application.onmessage & wndproc посмотреть какие сообщения получает твое окно и аппликейшион при ,опятьже таки, изменении размеров того же стандартного таскбара, если это все не даст положительных результатов, то попробуй отсылать всем окнам (видимым) сообщение wm_move или WM_WINDOWPOSCHANGING



Страницы: 1 вся ветка

Текущий архив: 2002.06.03;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.009 c
1-7061
MaximatorVeter
2002-05-21 20:20
2002.06.03
Если ли что-то типа препроцессора для Delphi?


8-7112
MC TOL
2002-01-03 10:24
2002.06.03
Вопросик по OpenGL


4-7259
a_k_v
2002-03-27 13:49
2002.06.03
Перехват вызовов API функций из екзешника в NE формате


4-7277
ввв
2002-03-29 22:54
2002.06.03
проблемы при убитии процесса


3-6890
Sergeyy
2002-05-08 12:06
2002.06.03
Lookup fields ADOQuery error