none
Char nach Keys konvertieren RRS feed

  • Frage

  • Hallo,

    ist es möglich einen Char-Typen nach System.Windows.Forms.Keys zu konvertieren?
    Grund: Ich brauche in meiner Anwendung das französische cedille Ç und möchte anstelle von alt+128 dies mit alt+c machen. (lässt sichleichter merken)
    Dafür habe ich ProcessCmdKey überschrieben und die Idee wäre nun wenn alt+c gedrückt wurde

    Return MyBase.ProcessCmdKey(msg, keyData)

    auszuführen.
    Nun ist aber keyData vom Type Keys und ich habe nur ChrW(&HC7)  als das cedille. Wie mache ich also aus ChrW(&HC7) ein Keys?

    Danke
    Reinhard
    Donnerstag, 5. November 2009 19:21

Antworten

  • Hallo Reinhard,

    das wird so nicht funktionieren.
    Die Keys Enumeration enthält nur die Basistasten die eine Tastatur bereitstellt.
    Windows erzeugt kombinierte Zeichen wie das C mit Cedille in einem mehrstufigen Prozess,
    wie beschrieben in der API Dokumentation (englisch):
    http://msdn.microsoft.com/en-us/library/ms646267%28VS.85%29.aspx#_win32_Character_Messages

    In Windows Forms kommen diese Nachrichten als KeyDown an und das Ç käme erst beim KeyPress
    Ereignis an.

    Wenn Du nicht die französische Tastaturbelegung aktivieren willst, wo das Zeichen vorhanden ist,
    kannst Du eine Tastaturbelegungssoftware verwenden. In der Wikipedia sind einige genannt:
    http://de.wikipedia.org/wiki/Tastaturbelegung#Tastatur-Belegungs-Software

    Du solltest allerdings etwas wie AltGr+C oder Alt+Strg+C verwenden,
    denn Alt+C könnte u. U. wieder Probleme bereiten, da es auch einen Menübefehl
    aktivieren könnte, der "C" als Shortcut verwendet.

    Gruß Elmar
    • Als Antwort markiert ReinhardH Freitag, 6. November 2009 07:16
    Donnerstag, 5. November 2009 20:26

Alle Antworten