pawellek1995 Temat założony przez niniejszego użytkownika |
» 2013-11-30 20:45:34 if( hwnd == okienka[ 0 ] ) PostQuitMessage( 0 );
zamiast if(( HWND ) lParam == SetFocus( okienka[ 0 ] ) ) PostQuitMessage( 0 );
Dlatego podałem ci kod mój co zmieniłem już. |
|
pekfos |
» 2013-11-30 20:53:54 Twój sposób nie działa. WM_DESTROY nie gwarantuje niczego sensownego w lParam, a SetFocus() zwraca poprzednią wartość. Jeśli będziesz miał focusa na oknie głównym i zamkniesz inne okno, to program się wyłączy. |
|
pawellek1995 Temat założony przez niniejszego użytkownika |
» 2013-11-30 20:56:42 Mój program działa o dziwo, wklej sobie w kompilator i zobacz, testowałem na trzech oknach. Tylko jak zostaje jedno okno to wygląda jak by było odznaczone czyli focus jest gdzieś indziej. Jak to można wytłumaczyć? |
|
pekfos |
» 2013-11-30 21:15:20 Mój program działa o dziwo |
To zrób tak: Utwórz wiele okien, uaktywnij główne okno i zamknij jedne z nieaktywnych mniejszych okien. Jak dobrze trafisz, to już teraz program się wyłączy. Jeśli nie, to okienko zamknie się poprawnie i inne (z małych) dostanie focusa. Zamknij je, wtedy wszystkie będą nieaktywne. Nieważne, na który X naciśniesz, okno nie zareaguje na pierwsze naciśniecie, a za drugim cały program się wyłączy. (A przynajmniej u mnie tak to działa, co już jest wystarczającym argumentem, że rozwiązanie jest nieprawidłowe) Nie wiem, co Ci nie działało w moim rozwiązaniu. Pewnie to, że, mimo tego co tu piszesz, zamknięcia całego programu oczekujesz tylko po zamknięciu okna głównego. Wtedy faktycznie, nie działa, bo trzeba porównywać pierwszy argument procedury okna z uchwytem okna głównego, a nie z innym. |
|
pawellek1995 Temat założony przez niniejszego użytkownika |
» 2013-12-01 16:22:24 Chciałem żeby konkretne okno się zamykało. Czyli jak bym kilknął na X w jakimś tam 10 oknie to te 10 okno się tylko i wyłącznie zamykało. A twój if nie działał ;/. Zrobiłem wszystko tak jak powiedziałeś ;/ |
|
pekfos |
» 2013-12-01 16:27:15 Zrobiłem wszystko tak jak powiedziałeś ;/ |
Rly? if( pierwszyArgumentProceduryOkna == uchwytOknaGlownego ) PostQuitMessage( 0 ); Tak zrobiłeś? Jeśli tak myślisz i nie działa, to podaj kod. |
|
pawellek1995 Temat założony przez niniejszego użytkownika |
» 2013-12-01 16:47:46 (pierwszyArgumentProceduryOkna)WndProc? Czyli HWND == (uchwytOknaGlownego)to hwnd ? |
|
pekfos |
» 2013-12-01 17:16:53 |
|
1 2 3 « 4 » |