mikrocontroller.net

Forum: PC-Programmierung CEdit und MFC


Autor: Karlheinz Druschel (kdruschel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Leuts,

ich muss bei einem CEdit Eingabefeld der MFC zur Laufzeit umschalten, ob 
nur numerische oder auch alphanumerische Eingaben zulässig sind....
Irgendwie geht es wohl, was ich diversen Beiträgen aus dem Internet 
entnehmen kann. Aber ein konkretes Beispiel find ich nicht.
Kann mir jemand helfen ?


Greets
Karlheinz

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine Möglichkeit:

Lass alle Eingaben zu und kontrolliere es selber. Dazu musst Du eine 
eigene Klasse von CEdit ableiten, und in der den Messagehandler für 
eingegebene Zeichen (WK_KEYPRESSED) überladen. In Deiner Implementierung 
bestimmst Du, ob das Zeichen zulässig ist und rufst dann den 
Messagehandler der Basisklasse (CEdit::OnKeypressed) auf, ist es nicht 
zulässig, rufst Du ihn nicht auf.

Autor: Karlheinz Druschel (kdruschel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm,

ich habe jetzt folgendes probiert:

void CAlphaNumEdit::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
  if (nChar == 65)// 65 = 'a'
    CEdit::OnKeyDown(nChar, nRepCnt, nFlags);
}

Problem: Was immer ich auch drücke, das Zeichen wird im Eingabefeld 
dargestellt, auch wenn ich nicht das 'a' betätige.
Mag sein dass der Wert (UpdateData()) die anderen Zeichen nicht enthält, 
aber sie sollen ja auch nicht dargestellt werden..........

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.