Zahl aus einer EditControl auslesen

gabifi

Mitglied
Da ich den UpdateData(TRUE) - Befehl umgehen möchte, würde mich interessieren, ob es eine Funktion gibt, mit der ich aus einer EditControl direkt die enthaltenen Zahl auslesen kann, oder ob ich über den Umweg mit GetWindowText() gehen muss.
 
Leider nur über GetWindowText möglich. Ist aber immer noch besser als der UpdateData-Krempel.
 
Das DDX-Konzept ist meines Erachtens der effektivste Weg, um mit Steuerelementen Daten auszutauschen.
Wenn du allerdings UpdataData() nicht verwenden willst, bleibt nur der Weg über GetWindowText() bzw. GetDlgItemText().
 
Na gut, dann aben so. Danke mal.

Und grad frag ich mich, wieso wenn ich
Code:
 GetDlgItem(IDC_MYBUTTON)->SetFocus();
ausführe, nicht diese nette Hervorhebung von dem Button bekomm, damit man sieht dass er den Focus hat. Haben tut er ihn aber schon, aber man siehts net.
 
Hmm, ist es ein Owner-Draw oder Bitmap-Button? Bei Owner-Draw musst du das FocusRect selber draufmalen (DrawFocusRect), bei Bitmap-Buttons bin ich mir nicht ganz sicher.

Wenn du das in einem OnInitDialog machst, musst du dann return FALSE aufrufen statt return TRUE. Damit dein Button auch wirklich den Focus bekommt.
 
Ist eigentlich ein ganz normaler Button, also nicht Owner-Draw.

Rufe das ganze in nem Messagehandler auf. Ich hab Felder für Seriennummereingabe, und wenn ich im letzten alles eingetippt hab soll halt gleich der Button aktiviert werden, den ich danach drücken mag.
Code:
void CSerialNumberDlg::OnEnChangeEdit8()
{
	if( ((CEdit*) GetDlgItem(IDC_EDIT8))->LineLength() == 4 )
		GetDlgItem(IDC_BUTTON_TEST)->SetFocus();
}

Haut aber au in der OnInitDialog() net hin, auch mit FALSE als Rückgabewert.
Naja, net so wahnsinnig wichtig, aber komisch isses schon.
 
Zurück