SetFocus für IDC_EDITn
-
Für Membervariable eines Eingabefeldes m_ein mit Wertübergabe (double etc.) existiert SetFocus nicht. Lege ich die Membervariable als Control an, gibt es zwar die Methode SetFocus, aber ich weiß nicht, wie ich dann den eingegebenen Wert auslesen kann.
Kann jemand helfen und mir zeigen wie das Setzen des Focus auf ein Eingabefeld klappt?
Danke im voraus.
Peter
PS: (Habe in Faq nichts gefunden)
-
Herzlichen Glückwunsch.
Du hast bereits selber die Lösung beschrieben.
Eine Control Variable ist für das Fenster des Controls zuständig,
also hat sie auch Methoden wie SetFocus(), etc..
Eine Variable die den Wert nur darstellt, hat das natürlich nicht,
da der Wert keinen Focus hat, sondern das Fenster.
Du musst also eine Control und eine Wert Variable anlegen.
Oder auf das Ctrl per GetDlgItem zugreifen.kannst ja mal suchen

Devil
-
methode a:
du legst 2 variablen eine, eine Control und eine CString; int; double usw
die müssen dann natürlich unterschiedliche namen haben...methode b:
//wert int auslesen aus IDC_EDIT1 und in 'i' speichern CString s; GetDlgItem(IDC_EDIT1)->GetWindowText(s); int i = atoi(s); //Focus setzten GetDlgItem(IDC_EDIT1)->SetFocus(); //Wenn die Methode nur in CEdit vorhanden ist (als bsp. SetLimitText()) ((CEdit*)GetDlgItem)->SetLimitText(10000);such dir was aus
mfg Emperor_L0sr
-
Danke für die schnelle Hilfe!!!
Peter