![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как узнать о изменении положении чужого окна. [D5, Win95/98]
Сергей Зорин © (2003-01-16 13:31:00)У меня оболокча Explorer(win98) заменена на собственную форму, которая играет роль desktop"a, ограничивая права пользователя.
С помощью WMGetMinMaxInfo и
TForm1.WindowPosCh(var Message: TWMWindowPosChanging);
with Message.WindowPos^ do hWndInsertAfter:=HWND_BOTTOM;
я сделал свой desktop. Но первый раз, открывая какое-то приложение с формы и минимизуя, оно западает за форму. Достав его с Alt-Tab, далее всё работает ОК. Я думал решить проблему поймав минимизацию любого другого окна и на ето сообщения сделать SetWindowPos(Bottom). Правильный ето путь, если да, то как ето сделать? Как вообщее решается моя проблема с Desktop"om? Заранее благодарен!!!
CjCrazy (2003-01-19 17:40:00) [1]ребята, кажись вы задались вопросом о написании Shell"a так что лучше заглядывайте в одноимённый раздел форума Shell
DVM (2003-01-19 16:51:00) [2]> Nick_N_A. Ага, и все окна перебирать постоянно (это кривой метод, если надо отслеживать постоянно). Хук ставить надо.
Nick_N_A (2003-01-19 06:36:00) [3]>Как узнать о изменении положении чужого окна
GetWindowPos
Nick_N_A (2003-01-18 06:01:00) [4]У каждого окна есть оконная процедура WndProc.
Меняется - SetClassLong . . .
Сергей Зорин (2003-01-16 17:22:00) [5]ZeroDivide, а как бы Вы написали процедуру помещения окна на дно?
ZeroDivide (2003-01-16 15:55:00) [6]А я бы написал такой-же эксплорер в виде панели, что в нижнем углу экрана :) Можно даже совсем такой-же. Чтобы юзвери не догадывались, а там уж и администрил их как хотел.
На счет SetWindowPos(Bottom). Я вроде ничего не помню. Думаю что кроме как последовательной активизации окон, кроме своего конечно на боттом не получиться.