ShowWindow



  • Guten Morgen!

    Ich will einen nichtmodalen Dialog für zwei Sekunden anzeigen lassen:

    CMeinDialog dlg;
    dlg.Create(IDD_TEST);
    dlg.ShowWindow(SW_SHOW);
    Sleep(2000);
    dlg.DestroyWindow();

    Der Dialog enthält zwei Steuerelemente die eigenartigerweise nicht erscheinen.
    Wenn ich den Dialog modal erzeuge klappt alles, modal will ich aber nicht.
    Hat jemand ´ne Idee?
    Danke!



  • Hi!
    Erstelle einen Timer und überschreibe die Funktion OnTimer() für den Dialog, wo du DestroyWindow() aufrufst



  • Hast Du ein bißchen Code ?



  • In OnInitDialog():
    SetTimer(1, 2000, NULL);

    Mit Klassen-Assistent die Funktion OnTimer() erstellen (Nachricht WM_TIMER abfangen):

    void CMeinDialog ::OnTimer(UINT nIDEvent)
    {
       if(nIDEvent == 1)
       {
         KillTimer(1);
         DestroyWindow(); // nicht ausprobiert, kann sein, dass es nicht klappt,
                          // dann versuch CDialog::OnOK(); oder EndDialog(IDOK);
                          // also spiele einbißchen damit
       }
    


  • Das funktioniert zwar, aber die Steuerelemente sind trotzdem nicht zu sehen.


Anmelden zum Antworten