Veröffentlicht 30. Oktober 200123 j Weiss jemand wie man eine art Enter-Event in c++ erzeugen kann? Ich habe in einem Eingabefeld etwas hineingeschrieben und sobald ich die Entertaste drücke möchte ich eine andere Funktion aufrufen. Aber die Funktion soll nur aufgerufen werden, wenn ich genau in diesem Eingabefeld bin, ansonsten nicht. Also weiss jemand wie das geht? Oder geht das gar nicht? :confused:
30. Oktober 200123 j Vielleicht ginge es ungefähr so: //OnOK() überschreiben, wird auf gerufen bei der Enter-Taste void OnOk() { //Wenn der Eingabefocus auf deinem Textfeld liegt //IDC_DEINTEXTFELD natürlich ersetzen if(GetFocus() == GetDlgItem(IDC_DEINTEXTFELD)) { //Hier kannst du jetzt deine Funktion aufrufen } else { //Sonst die Standardbehandlung CDialog::OnOK(); } } Ich hoffe jetzt nur, dass ich das Problem richtig verstanden habe. <FONT COLOR="#a62a2a" SIZE="1">[ 30. Oktober 2001 09:41: Beitrag 1 mal editiert, zuletzt von mst ]</font>
30. Oktober 200123 j Du musst eine Klasse generieren, die von CEdit erbt !! Dann hast Du die Funktion OnKeyDown zur Verfügung, die als Parameter den Wert der gedrückten Taste erhält. Also: CMyEdit : public CEdit Machst am Besten mit dem Klassenassistenten
30. Oktober 200123 j @gugelhupf: Deine Methode geht natürlich auch. Aber ich persönlich halte sie für etwas umständlich. Aber klappen wird es damit auch.
30. Oktober 200123 j Ooh, man... langsam vermiss ich VB! Wie kann ich denn eine Klasse defineieren, die von CEdit erbt? Ich bin sozusagen c++newbie und habe mit MFC auch erst neulich angefangen. Kann mir vielleicht jemand die genaue Vorgehensweise beschreiben?
31. Oktober 200123 j Wie gugelhupf schon gesagt hat: Benutz den Klassenassistenten von Visual C++! Der spart doch einiges an Tipparbeit.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.