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)