Форум: "WinAPI";
Текущий архив: 2003.10.30;
Скачать: [xml.tar.bz2];
ВнизПодвинуть окна Найти похожие ветки
← →
jonni (2003-08-25 16:09) [0]проблема вот в чём:
я астанавливаб новий размер WorkArea
rcWork.Top:=50;
rcWork.Left:=50;
rcWork.Bottom:=GetSystemMetrics(SM_CYSCREEN);
rcWork.Right:=GetSystemMetrics(SM_CXSCREEN);
SystemParametersInfo (SPI_SETWORKAREA, 0, @rcWork, SPIF_SENDCHANGE);
и для верности засылаю сообщение:
SendMessage(HWND_BROADCAST,WM_WININICHANGE,0,0);
при этом только Desktop и моя программа меняют положение и размеры.... остальные окна не реагирубт на это, только если их свернуть и зановоразвернуть....
как жe можно застваить окна переместиться и изминить размери при изменение WorkArea.... так же как при перемещение TaskBar.??????????/
(регистрация сврего приложения как AppBar не подходит)
← →
jonni (2003-08-25 20:20) [1]:(
← →
DVM (2003-08-26 13:14) [2]Действительно интересно, это встроенная возможность окон/системы или функция оболочки? Без эксплорера все это не работает (имеется ввиду то что написано выше, т.е. автоупорядочивание окон при перемещении одного из аппбаров). Из этого можно предположить, что это функция оболочки/эксплорера. Но какая?
Может кто знает???
Собственно можно самому написать подобную функцию, циклически перебирая все топ-левел окна и подстраивать их размеры/двигать их. Но не хотелось бы изобретать заново велосипед. К тому же не совсем ясно по какому критерию отбирать окна которые должны реагировать на изменения рабочей области.
Функция наверняка в shell32.dll и недокументирована. Хотя может быть и в user32.dll если это встроенная функция системы.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2003.10.30;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.015 c