bottommost окно
От: __MasteR__ Россия  
Дата: 01.06.04 15:46
Оценка:
Я хочу написать приложение, окно которого должно располагаться под всеми окнами (like Desktop). На delphi.mastak.ru я нашёл вот что:

procedure WMWindowPosChanging(var Message:TWMWindowPosChanging); message WM_WINDOWPOSCHANGING;

//а вот это в implementation

procedure TForm1.WMWindowPosChanging(var Message:TWMWindowPosChanging);
begin
with message.WindowPos^ do flags:=flags or SWP_NOZORDER;
inherited;
end;

Это работает, но мне это нужно сделать без VCL. Пробовал сделать так:

...
 WM_WINDOWPOSCHANGING:
  ...
  SetWindowPos (hwnd, 0, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE | SWP_NOZORDER);
  ...
// или так:
  WINDOWPOS * ppos = (WINDOWPOS*) lparam;
  ppos->flags |= SWP_NOZORDER;
...

— не работает.
У меня пока так:

 SetWindowPos (hwnd, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE);


Так работает, но при клике на моём десктопе десктоп перерисовывается (выходит на передний план) и потом уходит под все окна.
Заранее благодарю за помощь.
P.S.
Поиск по сайту не помог, по инету — тоже...
В исходниках VCL ничего не понял.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.