Loki876 Geschrieben 17. Januar 2006 Geschrieben 17. Januar 2006 Hi. Habe in einem Dialogenster ein Eingabefeld, dass ich nur unterbestimmten umstaenden aktiviert haben moechte. Dazu moechte ich dann bevor ich das Dialogfenster oeffne das Eingabefeld deaktivieren. Mein Programm stoert sich irgendwie an folgender Programmzeile und ich weiss nicht warum. m_dDlg gehoert zur Klasse CDialog m_cEingabefeld zu CEdit m_dDlg.m_cEingabefeld.EnableWindow(FALSE); // hier tritt der fehler auf if (Bedingung) { m_dDlg.m_cEingabefeld.EnableWindow(TRUE); } if (m_dDlg.DoModal () == IDOK) { UpdateData(FALSE) } Beim Compilieren kommt kein Fehler, beim Ausfuehren wird "Debug Assertion Failed!" gemeldet. gruss
Klotzkopp Geschrieben 17. Januar 2006 Geschrieben 17. Januar 2006 Zu dem Zeitpunkt gibt es noch kein Eingabefeld. Das Dialogfenster - und damit auch das Eingabefeld - wird ja erst durch den Aufruf von DoModal erstellt. Leg in der Dialogklasse eine Variable für die Bedingung an, setze sie vor DoModal und aktiviere das Eingabefeld in Abhängigkeit von dieser Variablen in OnInitDialog in der Dialogklasse. Und weil das windowsspezifisch ist und nichts mehr mit Standard-C++ zu tun hat: Verschoben nach C++: Compiler, IDEs, APIs.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden