F
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?