Benutzer mit den meisten Antworten
Char nach Keys konvertieren

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
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
Alle 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