Fehlermeldung ausschalten(bzw. Ändern)?
-
Hallo,
wie kann ich denn die Fehlermeldung("Geben Sie Bitte eine Zahl ein") ausschalten(oder Ändern), die erscheint, nachdem ich mit UpdateData(TRUE);
die gewählten Werte der Variablen aus den Comboboxen einlese.Es ist nälich so, dass ich gerne eigene Fehlermeldungen erstellen würde,
falls in einer ComboBox noch nix drin steht.Danke
-
IMHO habe ich von so einer Fehlermeldung noch nie etwas gehört.
Erzeugst du die selbst ? Kann eigentlich nicht sein da du sie ja dann selbst ändern würdest.
-
Nein, ich erzeuge sie nicht selbst.
Möchte die Fehlermeldung allerdings ausschalten, da das Programm mehrsprachig abläuft, und die Fehlermeldung somit sehr unpassend ist.
-
Das Problem hatte ich auch einmal bei einem Eingabefeld!!
Ich habe es einfach als String gelassen und nicht als Integer. Dann konnte ich es auch frei lassen.
Nachteil: Du mußt halt die Typ-Umwandlungen machen.
-
Guter Tip es als String zu lassen, aber das geht leider nicht.
Wie man die Fehlermeldung ändert kannst du mir nicht sagen, oder??
-
Ändern glaub ich nicht da die Fehlermeldung in _Afx_DDX_TextWithFormat ausgegeben wird.
Du könntest aber einfach bei OnOk o.ä. überprüfen ob der Inhalt gültig ist und dann eine Hinweis-MessageBox ausgeben + Focus auf das Edit setzen.
[ Dieser Beitrag wurde am 30.01.2003 um 15:26 Uhr von Nemesyzz editiert. ]
-
Das geht meine ich nicht. Zumindest nicht mit dem Typ Eingabefeld, der Dir zu Verfügung steht in VC++.
Das Problem ist, daß Du zwingend eine Nummer eingeben mußt, da ein Integer nicht Empty sein kann. Also muß mind. 0 drinstehen.
Allerdings bekomme ich keine Fehlermeldung, wenn ich dem Objekt über den Klassenassistenten keine Integer-Variable hinzufüge, sondern es folgendermaßen abfrage:
void CDialogDlg::OnChangeEdit1() { // TODO: Wenn dies ein RICHEDIT-Steuerelement ist, sendet das Steuerelement diese // Benachrichtigung nicht, bevor Sie nicht die Funktion CDialog::OnInitDialog() // überschreiben und CRichEditCrtl().SetEventMask() aufrufen, wobei // eine ODER-Operation mit dem Attribut ENM_CHANGE und der Maske erfolgt. // TODO: Fügen Sie hier Ihren Code für die Benachrichtigungsbehandlungsroutine des Steuerelements hinzu CString cstrHallo; GetDlgItem(IDC_EDIT1)->GetWindowText(cstrHallo); MessageBox( cstrHallo ); }
Leider bleibt es Dir dann dennoch nicht erspart den erhaltenen CString wieder in eine Zahl umzuwandeln, was aber kein Problem ist. Wenn Du bei den Eigenschaften des Eingabefeldes die Eigenschaft "Nummer" aktivierst, dann haste ja keine Fehleingabe, da Buchstaben verboten sind.
Was willst Du denn für Zahlen dort eingeben?