Witam,

piszę projekt na zaliczenie - symulator telefonu komórkowego.
Napotkałem następujacy problem:

na dialogu mam zwykłe pole Edit. Ukrywam je przez ShowWindow(SW_HIDE) - ok, chowa się.
W innym zdarzeniu (np. onbuttonclick) chcę je znowu pokazać więc robię ShowWindow(SW_SHOWNORMAL) - pozornie nic się nie dzieje.
Dopiero gdy w drugim zdarzeniu (np. innym onbuttonclick) zrobię drugi raz ShowWindow(SW_SHOWNORMAL) - dopiero wtedy Edit się pokazuje.
Ciekawa rzecz która zauważyłem - jesli po pierwszym ShowWindow dam sleep(500)
to ten Edit będzie widoczny przez 500ms ale szary - tak jakby był wyłączony albo readonly.

W kodzie wygląda to tak:

CWnd* pWnd = GetDlgItem(IDC_EDIT1);
pWnd->ShowWindow(SW_SHOWNORMAL); // powinno sie pokazać ale się nie pokazuje

więc żadna filozofia.

Co zrobić aby po pojedynczym ShowWindow kotrolka się pojawiła (tak ja to logicznie powinno być)?

(próbowałem robić w pętli while ShowWindow tak długo aż się nie pokaże ten Edit (i inne cuda) ale to nie działa,
trzeba wywołać je drugi raz z innego zdarzenia, nie rozumiem tego zachowania)