-
Собственно сабж. Или по крайней мере можно так обойти ситуацию: если я выполняю вот такой код:
tbHwnd := FindWindow('Shell_TrayWnd', nil);
GetWindowRect(tbHwnd, tbPos);
MoveWindow(hwnd, -5, -20, Screen.Width+5, Screen.Height + 5 + tbPos.Bottom - tbPos.Top, true);
то окно по задумке должно расположиться так, чтобы на весь экран была видна только его клиентская область. Оно это делает, но сразу же после этого подгоняет свои размеры под Screen & not(Taskbar) :( (Очевидно отлавливает WM_EXITSIZEMOVE и корректирует размеры, хотя мышей его подвигать можно и за пределы экрана) вот мысль и возникла что если у этого окна убрать Border, и таскбар куда-то деть (скрыть не помогает - размеры его сохраняются), то можно его будет "растянуть" клиентом на фулл скрин.
-
SetWindowLong GWL_STYLE ?
-
интересно, где такое нужно.. из трех замеченных мной классов программ, двум это было лишнее, а третья - клянчилка денег
-
Есть такое применение: на автомате приёма денег (терминал оплаты, мой личный, не ломаю ничего чужого :) стоит софт киви, который: 1. поверх всех окон 2. фиксированный размер 3. даже определяет перекрытие другими окнами
И вместе с тем, нужно его прикрутить к ещё одной задаче (отображать определённую информацию). Я слабал прогу - сверху панель (*) и кнопари чтобы юзер мог выбрать что хочет: посмотреть инфу1, посмотреть инфу 2 или положить бабки на счёт. Так вот - по поводу вывода инфы никаких проблем - сам пишу софт, а вот киви подружить получается слабо. Можно было бы попробовать выловить его хендл, но оно не масштабируется, а мне надо чтобы (*) всегда отображалось, т.е. от монитора часть "отрезаю". В результате родилась идея воткнуть его в виртуалбокс, сегодня уже настроил киви работает внутри виртуальной машины, но вот сабж собственно возник: ВиртуалБокс отслеживает ExitSizeMove и если окно вылазит за монитор то уменьшает его!
to clickmaker: спасибо, попробую
|