Deaktywacja formy.

0

Witam :)

Chciałbym uzyskać efekt taki jak jest w Gadu-Gadu przy powiadomieniach o dostępności danej osoby.
Border Style formy ustawiłem na BsNone;

Wszystko jest niby ok, ale pojawiają się dwa małe problemy.

Gdy pojawia się forma ( Forma.Show; )
to aktywna forma (np. okno główne, lub inne) zostaje automatycznie zdeaktywowana.
Pomyślalem, żeby zrobic SetFocusa na daną formę, ale gdy np. będzie otwarte systemowe okno?
Chciałbym uzyskać efekt taki, że pojawiająca się forma będzie zawsze nieaktywna (po kliknięciu na nią wywołuję Close; ), tak jak jest to w GG.

Drugi problem jest taki:

Chciałbym spowodować, by ta sama forma była też zawsze na wierzchu( ponad wszystkimi oknami) StayOnTop odpada, bo działa tylko na formę główną.

Bardzo proszę o pomoc.
Pozdrawiam.

0

Witam.

Udało mi się zrobić, by forma była cały czas na wierzchu:

form2.ParentWindow:=GetDesktopWindow;
form2.show;

Form2 ustawione na StayOnTop.
Ale pojawił się jeden problem. Po ustawieniu Parenta jako uchwyt pulpitu pojawia się belka formy na pasku zadań pomimo użycia nawet tego kodu:

  Ex:=GetWindowLong(application.Handle, GWL_EXSTYLE);
  SetWindowLong(application.Handle,GWL_EXSTYLE,
  Ex or WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW);

Jak zrobić, by forma ta, nie miala belki? Prosze o pomoc

0

Czesc,

Zerknij tutaj:

http://delphi.about.com/od/adptips1999/qt/hidefromtaskbar.htm

Brakuje Ci chyba metody ShowWindow();

Pozdrawiam.

0

niestety to nic nie daje. Belka wyłącza się w całej aplikacji, ale na tej jednej formie (form2.ParentWindow:=GetDesktopWindow; ) belka jest widoczna...

1 użytkowników online, w tym zalogowanych: 0, gości: 1