![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Прилипшее окно к рабочему столу [D3, D4, D5, D6, Win95/98, WinME, NT4, Win2k, WinXP]
cpp © (2002-09-23 15:41:00)Как создать окна, которое прилипло бы к рабочему столу. Т.е. оно всегда оставалось внизу и могло перекываться всеми остальными окнами?
Adept (2002-09-24 11:51:00) [1]>Al202 Работает коряво.
Я недавно тоже мучался.
Окно сначала вілетает наверх, а потом уходит на свое место со страшнім миганием и тормозами.
AL2002 (2002-09-24 10:41:00) [2]>cpp © (24.09.02 08:09)
>>Shadow © (23.09.02 17:26)
>не работает
Совсем-совсем ничего не работает?
cpp (2002-09-24 08:09:00) [3]>Shadow © (23.09.02 17:26)
не работает
Shadow (2002-09-23 17:26:00) [4]Сначала сделай Form1.DoubleBuffered := true; (OnCreate);
При попытке сделать твое окно акативным (OnActivate) делай
Form1.SendToBack. Усе! Вроде должно работать.
Демонов Е.В. (2002-09-23 16:52:00) [5]WM_windowPosChange - что то в этом духе
AL2002 (2002-09-23 16:50:00) [6]>REA (23.09.02 16:44)
Лучший вариант, кстати.
cpp (2002-09-23 16:49:00) [7]Достаточно следующее
В методе формы
ParentWindow := GetDesktopWindow();
REA (2002-09-23 16:44:00) [8]А еще наверно можно сделать ActiveX компонент, который поместить на ActiveDesktop и оно будет вмуровано в Desktop.
Рыжик (2002-09-23 16:31:00) [9]Попробуй SWP_NOACTIVATE или SWP_NOZORDER
AL2002 (2002-09-23 16:29:00) [10]>cpp © (23.09.02 16:14)
Надо постоянно отправлять назад.
Таймер поставь.
cpp (2002-09-23 16:14:00) [11]SetWindowPos(Application.Handle, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOMOVE OR SWP_NOSIZE)
Этот кусок не работает максимум, что можно добиться это указав вместо Application.Handle - Handle окна формы спрятать форму назад. Но это не то окна также успешно может стать поверх остальных.
AL2002 (2002-09-23 15:49:00) [12]SetWindowPos(Application.Handle, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOMOVE OR SWP_NOSIZE)