Autor Wątek: VC++ 2005 EE, wykrycie zdarzenia w oknie2 i zaragowanie w oknie1  (Przeczytany 707 razy)

Offline ŁukaszB

  • Użytkownik

# Kwiecień 13, 2008, 13:21:23
Cześć problem polega na wykryciu zdarzenia niszczenia okna.
Mam główne okno ono ma uchwyt (^) na inne okno w którymś się coś dzieje i potrzebuje zaragować na zdarzenie niszczenia tego okna w głównym oknie. ale nie wiem jak to wykryć.

Wygląda to tak.
Form1 ma buttona1, gdy naciskam tego buttona jest tworzone okno, tam coś można wpisać, okno kończy życie "sukcesem" gdy użytkownik wciśnie buttona2 w tym "pseudo potomnym oknie" i jest wywoływana metoda ->DestroyHandle(); i właśnie potrzebuje wykryć w oknie nadrzędnym że zostało zniszczone żeby móc coś zupdejtować w nim.
nie wiem jak:)

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Mormegil

  • Użytkownik
    • Moj dev blog

# Kwiecień 13, 2008, 13:38:32
Masz procedure obslugi tego drugiego okna ??

Jesli tak, to tam poprostu dodajesz w obsludze WM_CLOSE (albo cos w tym stylu):
 - wysylanie komunikatu do okna 1
 - zmieniasz stan jakiejs zmiennej gloabalnej, ktora regularnie sprawdzasz w oknie 1
 - robisz update

Jesli nie masz procedury obslugi tego drugiego okna, to moze jest to jakis dialog, ktory cos zwraca.
Wtedy wystarczy zapisac sobie wartosc zwracana.

Offline ŁukaszB

  • Użytkownik

# Kwiecień 13, 2008, 13:49:17
Nie wiem czy rozumiem
mam forme1(główne okno aplikacji)
mam forme2(okno na które muszę zareagować)

wygląda to tak
namespace formy1{

   public ref class Form1{

      Form2 ^Okno;

      button1_clic(....) {
         Okno = gcnew Form2(...);
         Okno->Show(this);
      }
      ...
   }
...
}

namespace formy2 {
   public ref class Form2 {
       ...
   }
}

o to chodź żeby wykryć w oknie Form1 zdarzenie niszczenia Form2 i odpowiednio zareagowanie na nie:)
można prosić o łopatologiczną odpowiedź?
nie wiem w okono->show(this);
mam wskaźnik na okno nadrzędne, mogę dorobić metodę w tym oknie nadrzędnym która zostanie wywołana przez metode z okna podrzędnego ale nie wiem jak się do tego dokopać...
« Ostatnia zmiana: Kwiecień 13, 2008, 13:57:05 wysłana przez ŁukaszB »