![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как поместить форму ниже всех остальных и оставить ее активной? [D5, WinXP]
[BAD]Angel © (2004-08-20 12:05:00)Хитрый вопрос:
Как поместить форму ниже всех остальных и оставить ее активной?
(т.е. чтобы когда она была активной, то не выскакивала на передний план)
TUser (2004-08-20 15:16:00) [1]Во всяком случае, в винде окно может оставаться активным, будучи не-Foreground.
Юрий Зотов (2004-08-20 13:58:00) [2]Если в обработчике OnShow вызвать
SetWindowPos(Handle, HWND_BOTTOM, 0, 0, 0, 0,
SWP_NOMOVE or SWP_NOSIZE)
а ПОСЛЕ этого в обработчике WM_WINDOWPOSCHANGING запретить изменение ее Z-порядка (устанавливая флаг SWP_NOZORDER перед вызовом inherited), то форма всегда будет оставаться на заднем плане.
Будет ли она при этом иметь возможность становиться активной - не знаю. Вероятно, будет. Только для формы на заднем плане вряд ли вообще нужна активность - и тогда ее можно запретить в том же обработчике установкой флага SWP_NOACTIVATE.
VMcL (2004-08-20 12:30:00) [3]>> [BAD]Angel © (20.08.04 12:05)
SetWindowPos w/ HWND_BOTTOM
?
Digitman (2004-08-20 12:19:00) [4]интересно, за каким .. это может реально понадобиться ?
PVOzerski (2004-08-20 12:12:00) [5]Разве что все остальные формы сделать always on top (FormStyle:=fsStayOnTop)...