Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[WinAPI] Okienko modalne i MessageBox

Ostatnio zmodyfikowano 2011-07-19 14:23
Autor Wiadomość
Mrowqa
Temat założony przez niniejszego użytkownika
[WinAPI] Okienko modalne i MessageBox
» 2011-07-18 15:01:02
Witam!

Mój problem:
Program wywołuje okienko modalne, odpowiedzialne za dłuższy proces ( w sensie czas'u :P ). Jeśli wywołam ( nawet na rzecz tego okna modalnego! ) MessageBox'a to po zamknięciu go okna modalne znika... gdy naciśnie się gdziekolwiek na okno główne to wtedy pojawia się to okno modalne ... ShowWindow niezbyt pomaga :(

Jak to rozwiązać ??

/edit:
może jakieś "niekonwencjonalne" rozwiązanie ?? :P Ważne by jakieś było :D

Pozdrawiam,
Mrowqa
P-36195
malan
» 2011-07-18 22:40:27
Jak to znika? ;p Po zamknięciu MessageBoxa, okno, na rzecz którego został on (MessageBox) wywołany, znika? ;p
SetFocus Function (msdn)?
P-36229
Mrowqa
Temat założony przez niniejszego użytkownika
» 2011-07-19 10:12:45
Próbowałem, ale to nic nie daje ;(
Dodam, że jak wywołam MessageBox'a na rzecz NULL'a to okno nie znika, ALE user ma dostęp do niego ( może zignorować MessageBox'a ).
Dodam także, że korzystam z wielu wątków. Procedura okna wywołuje swój wątek do pracy, a on z kolei kolejny, dla aktualizacji textu w okienku :P ( ale ten do aktualizacji nie wywołuje MSGBOX'a ).

Sprawdziłem - jeśli wywołam z tego samego wątku MessageBox'a to działa OK, ale z innego już nie :(

Pozdrawiam,
Mrowqa
P-36234
malan
» 2011-07-19 11:10:20
A czy te wątki są Ci naprawdę niezbędne? :) Nie osiągniesz tego co byś chciał bez nich? :)
P-36238
Mrowqa
Temat założony przez niniejszego użytkownika
» 2011-07-19 14:23:12
Wątpię :P Po za tym kod byłby niezbyt czytelny ...
Zrobiłem okienko modalne do dłuższego procesu ... jeden wątek obsługuje okienko ( które m.in. potrafi wydać komendę "wstrzymaj pracę" lub "przerwij pracę", drugi pracuje, a trzeci aktualizuje postęp ( mnóstwo textu :P ).

/edit:
gdzie ja mam głowę :P Przecież można zasymulować przyciśnięcie LPM :P

Pozdrawiam,
Mrowqa
P-36257
« 1 »
  Strona 1 z 1