inne okno zawsze aktywne

Odpowiedz Nowy wątek
2003-10-08 14:44
seth
0

Witam!

Nie jestem pewien czy to było - ja nie znalazłem -w jaki sposób w delphim zrobić tak, by inne okno było jakby zawsze na wierzchu,(kiedy włączony jest inny program), czyli żeby można było doprowadzić do sytuacji, kiedy są dwa aktywne okna.

Z góry dzięki na odpowiedzi.

Pozostało 580 znaków

2003-10-08 16:12
0

:-8 Dwa aktywne??
Było, MDI.
:-D :-D :-D :-D

Piszcie rozdsądne tematy :|

Pozostało 580 znaków

2003-10-08 16:26
Seth
0

Nie do końca chodzi mi akurat o dwa aktywne. Chodzi mi żeby jedno było aktywne cały czas, a inne mogłyby w tym być czasie na wierzchu, ale nie aktywne.

Pozostało 580 znaków

2003-10-08 16:29
0

Zawsze na wierzchu? Ot naprzykład: TForm.FormStyle := fsStayOnTop zdaje się, że inny sposób jest w FAQ.

PS. Jeżeli jedno okno jest na wierzchu, nie oznacza, że jest aktywne!

Pozostało 580 znaków

2003-10-08 16:47
0

Tylko, że fsStayOnTop działa tylko dla okien Twojej aplikacji.
Jeśli chcesz aby okno Twojego programu było również nad oknami innych aplikacji, dodaj do FormActivate poniższą linię:
SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE);

(2 okna aktywne w tym samym momencie? Nie jestem do końca pewien, ale chyba to jest niemożliwe)

Pozostało 580 znaków

2003-10-08 17:08
Seth
0

Mam wrażenie, że my się nie rozumiemy.
Program, który mam zamiar zrobić ma powodować, że jedno okno jest aktywne na stałe(mogę normalnie działać w innych oknach, ale tylko tamto jest aktywne) a później na przykład schować się w tray'u. Ten Program nie ma być widoczny (powiedzmy, że nie ma formy). Nie on ma być ciągle na wierzchu a inne okno powiedzmy Internet Explorera.

P.s.

Teraz to już tak namieszałem, że nikt nie zrozumie, o co mi chodzi.

Pozostało 580 znaków

2003-10-08 17:25
0

Teraz to już tak namieszałem, że nikt nie zrozumie, o co mi chodzi.

Rozumiem (chyba...)
Chodzi Ci o to, by ustawić ZawszeNaWierzchu okno dowolnej aplikacji ?

Jeśli tak, to:

Najpierw musisz pobrać uchwyt okna, które ma być zawsze na wierzchu (np. za pomocą FindWindow).
Następnie uchwyt ten musisz przekazać do funkcji SetWindowPos:

SetWindowPos(h, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE or SWP_NOACTIVATE);
//h - uchwyt zwrócony przez FindWindow

Pozostało 580 znaków

2003-10-08 17:40
0

ej no, Seth mieszasz. Jak okno ma być cały czas aktywne a w innych chcesz sobie cosik tam innego robić????

Nie czaję :|

Pozostało 580 znaków

2003-10-08 18:19
0

Mnie sie coś wydaje że gość chce zrobić program dzięki któremu będzie mógł oszukiwać na KURNIKU (taka strona z grami sieciowymi) bo tam jest tak ze jak ktos nie ma aktywnego okna z grą to jego nick robi sie siwy (takie zabezpieczenie na oszustów właśnie). i gosc bedzie se np gral w szachy jakimś np Chessmasterem 9000, i nikt o tym nie bedzie wiedział.

jeśli sie myle to sory [stuk]


<font color="white">

Pozostało 580 znaków

2003-10-08 18:20
Seth
0

ej no, Seth mieszasz. Jak okno ma być cały czas aktywne a w innych chcesz sobie cosik tam innego robić????

Właśnie o to mi chodzi :-) .

Pozostało 580 znaków

2003-10-08 19:27
0

ej no, Seth mieszasz. Jak okno ma być cały czas aktywne a w innych chcesz sobie cosik tam innego robić????

Właśnie o to mi chodzi :-) .

No to się nie da. Wg Windows - "aktywne okno" to takie, które ma tak zwany "focus". Przyjmuje ono wszelkie komunikaty pochodzące z urządzeń wejściowych, szczególnie klawiatury. Takie okno w systemie operacyjnym Windows może być tylko jedno - finito!!


Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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