wparam in PreTranslateMessage in char konvertieren?
-
Hallo,
ich habe folgendes Problem: ich fange Tastatureingaben in einem Dialog in PreTranslateMessage ab und bräuchte nun den zur gedrückten Taste passenden Character, um ihn an ein anderes Dialogfenster weiterzuleiten.
Funktioniert mit alphanumerischen Zeichen, allerdings nicht mit Sonderzeichen (bei gedrückter +-Taste bekomme ich z. B. << in meinem char).
Das ganze sieht ungefähr so aus:BOOL CDlgProjectManager::PreTranslateMessage(MSG* pMsg) { // TODO: Add your specialized code here and/or call the base class if (g_hWndBrowser) cwndBrowser = FromHandle(g_hWndBrowser); switch (pMsg->message) { case WM_KEYDOWN: { char cCharacter = (char) pMsg->wParam; SendCharToAcad(cCharacter ); } } return CDialog::PreTranslateMessage(pMsg); }
Wie komme ich nun an das tatsächlich zur gedrücken Taste passende Zeichen? Gibt es dafür irgendeine Funktion, die mir das konvertiert?
Vielen Dank
Peter
-
hmmm... blöde frage.. warum reagierst du nicht auf die WM_CHAR (anstatt auf die WM_KEYDOWN)?
-
Hallo,
das war's, ja! Vielen Dank für den Tipp. Nachdem ich gestern schon einen halben Tag überlegt habe, wie man das am besten machen könnte, sind damit gleich noch ein paar andere Probleme gelöst.
Grüßle
Peter