[VS, MFC] Ab wann ist CDialog benutzbar ?

Moien

Wie finde ich zur Laufzeit raus wann man auf einem CDialog updateData aufrufen darf ? Wenn das updateData benutzt wird bevor der Dialog angezeigt wird kommt ein Assert im Debugger. Bei IsWindowVisible allerdings auch.

Danke

Hi Pumpkin,

UpdateData und IsWindowVisible setzten voraus, dass das betroffene Fenster schon existiert. Um innerhalb der Dialog-Klasse zu ermitteln, ob das Dialogfenster bereits erstellt (und noch nicht wieder zerstört) wurde, kannst Du die Funktion IsWindow verwenden:

void CMyDialog::MacheIrgendwas()
{
 if (::IsWindow(m\_hWnd))
 {
 // IsWindow hat TRUE zurück gegeben, 
 // also existiert das Fenster:
 UpdateData();
 }
}

Gruß
Uwe

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]