dynamiczne tworzenie i niszczenie podokien

0

Czesc!

Szukalem tutaj na forum i na google jakichs informacji odnosnie dynamicznego tworzenia i niszczenia podokien w winapi, ale niczego nie udalo mi sie znalezc.
Tyle co zrobilem, to samodzielnie stworzylem pewna klase dla okien, przypisalem jej funkcje do tworzenia i wyswietlania ich na ekranie. Moge wiec dynamicznie kreowac okna, jednak gdy ktorekolwiek z nich chce zamknac, zamyka mi sie caly program.

Co zrobic, aby zamykaly sie tylko poszczegolne okna? Skorzystanie z SW_HIDE chyba nie jest dobrym pomyslem, gdyz okna w dalszym ciagu zajmuja pamiec. Probowalem tez dla kazdego okna rozpoczynac osobna petle komunikatow - niby dzialalo, ale wygladalo to nieelegancko. Czy moglby ktos podac jakis dobry sposob?

0

Po kolei:

Szukalem tutaj na forum i na google jakichs informacji odnosnie dynamicznego tworzenia i niszczenia podokien w winapi, ale niczego nie udalo mi sie znalezc.

Co rozumiesz jako dynamiczne tworzenie i niszczenie?? Jeżeli okienko nie jest w zasobach [a tylko dialogowe są], to zawsze jest dynamiczne :)
Zawsze łatwiej jest wyświetlić dialog, chociażby niemodalny, który może być otwarty razem z głównym okienkiem.
Co tak naprawdę chcesz osiągnąć??

Tyle co zrobilem, to samodzielnie stworzylem pewna klase dla okien, przypisalem jej funkcje do tworzenia i wyswietlania ich na ekranie. Moge wiec dynamicznie kreowac okna, jednak gdy ktorekolwiek z nich chce zamknac, zamyka mi sie caly program.

To znaczy, że źle napisałeś klasę okna... Jeszcze zależy JAK ją napisałeś... Jak się daje PostQuitMessage() (??) to chyba logiczne, że się zamknie aplikacja (skończy się pętla komunikatów)...

Co zrobic, aby zamykaly sie tylko poszczegolne okna? Skorzystanie z SW_HIDE chyba nie jest dobrym pomyslem, gdyz okna w dalszym ciagu zajmuja pamiec. Probowalem tez dla kazdego okna rozpoczynac osobna petle komunikatow - niby dzialalo, ale wygladalo to nieelegancko. Czy moglby ktos podac jakis dobry sposob?

:)
Nikt nie wie JAK to zrobiłeś i czy dobrze, dlatego cięzko coś zaproponować...

  1. Niemodalne okienka dialogowe - najprościej.
  2. Dobrze zaprogramować obsługę podokienek - bo nie rozumiem, to co robi Twoja klasa? Ma pętlę komunikatów??!! Chyba WindowProc, a nie pętlę????!!!! Bo jeśli nie to ja nie wiem co ty napisałeś za obsługę okienka...??
0

Jak się daje PostQuitMessage() (??) to chyba logiczne, że się zamknie aplikacja (skończy się pętla komunikatów)...

Jak najbardziej. Jaki komunikat powinienem zatem wyslac, aby zamknac tylko to okno, w ktorym wcisnieto 'Zamknij', a reszte pozostawic?

Najogolniej ujmujac, program powinien dzialac tak, ze otwiera sie okno glowne i kilka pomocniczych. Po zamknieciu glownego konczy sie dzialanie programu. Jak zamykac okna pomocnicze, aby nie zajmowaly pamieci, a program sie nie zamykal?

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