![]() |
TMessage, welche Taste wurde gedrückt?
Hallo,
wie bekomme ich bei
Code:
heraus, welche Taste gedrückt wurde?
procedure WmMenuChar(var m : TMessage); message WM_MENUCHAR;
In
Code:
muss doch irgendwo, irgendwie die Taste als Code enthalten sein :?
var m : TMessage
Danke Gruss Christof |
AW: TMessage, welche Taste wurde gedrückt?
Microsoft erklärt in der
![]() |
AW: TMessage, welche Taste wurde gedrückt?
Hallo,
danke! Da steht: Zitat:
Außerdem habe ich diese Funktion gefunden:
Code:
Verwende ich nun
function GetCharFromVKey(vkey: Word): string;
var keystate: TKeyboardState; retcode: Integer; begin Win32Check(GetKeyboardState(keystate)); SetLength(Result, 2); retcode := ToAscii(vkey, MapVirtualKey(vkey, 0), keystate, @Result[1], 0); case retcode of 0: Result := ''; // no character 1: SetLength(Result, 1); 2:; else Result := ''; // retcode < 0 indicates a dead key end; end;
Code:
dann funktioniert es bei den Zahlen, aber wenn ich eine Buchstabentaste drücke, dann kommt meistens nichts zurück
GetCharFromVKey(m.WParamLo)
Gruss Christof |
AW: TMessage, welche Taste wurde gedrückt?
Zitat:
Delphi-Quellcode:
statt
TWMMenuChar
Delphi-Quellcode:
. Dann brauchst du weniger Casts.
TMessage
|
AW: TMessage, welche Taste wurde gedrückt?
Wozu GetCharFromVKey?
Code:
procedure TForm1.WmMenuChar(var m: TMessage);
var s: string; begin s := chr(m.WParamLo); ShowMessage(s); end; |
AW: TMessage, welche Taste wurde gedrückt?
Danke
Zitat:
|
AW: TMessage, welche Taste wurde gedrückt?
Zitat:
Delphi-Quellcode:
(OK, "User" ist jetzt kein soooo sinnvoller Name... :mrgreen:)
procedure TForm1.WMMenuChar(var m: TWMMenuChar);
var s: string; begin s := m.User; ShowMessage(s); end; |
AW: TMessage, welche Taste wurde gedrückt?
ok, funktioniert auch, habe dann diese Variante eingebaut :thumb:
|
AW: TMessage, welche Taste wurde gedrückt?
Das ist aber nicht ganz das was du gefragt hast, oder? ;-) Die Message liefert dir nicht die Taste welche gedrückt wurde sondern nur das Zeichen welches daraus resultiert.
Nimmt man zum Beispiel die Zifferntasten weißt du dann nicht ob die Ziffer auf dem Nummernblock getippt wurde oder die andere Taste. |
AW: TMessage, welche Taste wurde gedrückt?
Das stimmt natürlich, aber eigentlich ging es mir auch nur um's Zeichen....:o
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz