Skocz do zawartości

Okienka dialogowe - raz jeszcze.


Ace

Recommended Posts

Mam zwykle standardowe okienko WinApi. Utworzylem w pliku zasobow okienko dialogowe i chcialby je wyswietlic odrazu po zaladowaniu glownego okna. Jak to zrobic. Ten artykul o okienkach dialogowych jakos mi wogole nie pomogl. Chce poprostu wyswietlic okienku dialogowe(modalne) ktory nic nie robi.
z gory dzieki za pomoc i wyrozumialosc w WinApi dopiero raczkuje i jak narazie (poza tworzeniem glownego okna) to dla mnie czarna magia. ;)

Link do komentarza
Udostępnij na innych stronach

Jak wywołuje się modalne okienko dialogowe to chyba nie trzeba tłumaczyć (luknij na funkcje DialogBox). Aby zas je wywolac po pokazaniu sie twojego glownego okna to najlepiej zrobic tak:
zrobic zmienna globalna typu bool i w komunikacie, czy przed utworzeniem okna przypisz jej zmienna false
w komunikacie WM_PAINT lub WM_SHOWWINDOW(tutaj musisz sprawdzic czy okienko sie pokazuje czy ukrywa - specyfikacja tego komunikatu) sprawdz czy zmienna ma false i jesli tak to zmien ja na true (aby tylko raz ten krotki algorytm w komunikacie WM_PAINT mogl sie wywolac) i poprzez PostMessage (nie sendmessage, aby windows obsluzyl standardowa kolejke komunikatow) wywolaj jakis niestandardowy komunikat (wymyslony przez ciebie), w ktorym zaladujesz okienko dialogowe.

Link do komentarza
Udostępnij na innych stronach

Pewnie ze tak jest najłatwiej. Ale ja chcialem pokazac jak okienko dialogowe ma sie pokazac kiedy glowne okno jest juz widoczne, bo gdy zrobimy to w WM_CREATE to one jeszcze nie bedzie widoczne. W takim prazypadku to nawet nie trzeba tego robic w WM_CREATE tylko bezposrednio po CreateWindowEx, wykorzystujac zwrocony uchwyt z tej funkcji.

Link do komentarza
Udostępnij na innych stronach

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gość
Odpowiedz...

×   Wkleiłeś zawartość bez formatowania.   Usuń formatowanie

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Utwórz nowe...