[Visual C++] Eingabefocus richtig setzen auf Editbox ?

smallone

Mitglied
Hallo Programmierer,

ich möchte den Eingabe-Cursor (diesen blinkenden Balken) auf ein Eingabefeld meines Dialoges setzen, habe aber keine Möglichkeit dazu in den Dialogfeld-Eigenschaften oder Editbox-Eigenschaften gefunden.


meine Funktion, die die Eingabe verarbeitet (nach clicken des Buttons Send), sieht folgendermaßen aus:
Code:
void CDialogeDlg::OnSend() 
{
	UpdateData(TRUE);                    // Benutzereingaben übernehmen
	MessageBox(m_sResults);       // zur Kontrolle anzeigen (m_sResults ist Membervariable des Eingabefeldes

       // Funktionen...
	
	m_sResults = "";                          // Eingabefeld "leeren", damit User neue Eingabe tätigen kann

	UpdateData(FALSE);                   // leeres Eingabefeld anzeigen

}


Wer hat einen Tip parat ?
Vielen Dank schonmal für Eure Hilfe

Gruß
BEN
 
Du kannst SetFocus() verwenden.
Wenn deine Membervariable ein Editcontrol wäre und kein String, könntest du es so machen:
Code:
m_ctlEditResults.SetFocus()

Da du einen String benutzt, musst du es eher so machen:
Code:
CWnd* pMeinEdit = GetDlgItem( ID_VON_DER_EDIT_RESSOURCE );
if ( pMeinEdit != NULL )
{
  pMeinEdit->SetFocus();
}
(Achtung, Code ungetestet!)

Es gibt noch ein paar Varianten, aber damit müsstest du hinkommen.
 
Wahnsinn,

habe dein 2. Codebeispiel reinkopiert (und meine IDC_... eingetragen), hat sofort funktioniert !

Vielen Dank !
Erstklassige Hilfe !

Gruß
BEN
 
Zurück