![]() |
WindowsMessage in UpperCase umwandeln
Hallo,
ich habe mir ein Object geschrieben, mit dem ich die StandardBelegung der Tastatur übersteuern kann. Funktioniert so weit auch ganz gut. Der User soll nun mit einer beliebigen Taste in den UpperCase Modus wechseln können. Mein Problem ist, dass ich nicht weiß, wie ich die WindowsMessage von Lower in Upper umwandeln kann: Hier ein Auszug: Application.OnMessage := MyKeyMessage; // Um Nachrichten abzufangen
Delphi-Quellcode:
Leider konnte ich weder im Web noch in meinem Lieblingsforum etwas dazu finden.
procedure TKeyHandle.MyKeyMessage(var Msg: TMsg; var Handled: boolean);
begin if( msg.message = WM_KEYDOWN ) then begin if FActive then begin if Assigned(FOnKeyMessage) then begin FOnKeyMessage(msg,Handled); Handled := true; exit; end else KeyConvert( msg, Handled ); end; end; end; procedure TKasKeyHandle.KeyConvert( var msg: TMsg; var handle:boolean ); var k:TMyKey; KeyDown:boolean; begin KeyDown := (msg.lParam shr 31) = 0; if FActive and KeyDown then begin k := GetKeyByCode(msg); .... if FVorStellKey <> nil then begin if FVorStellKey.id = SHIFTKEY_ID then // zuvor wurde in der UpperModus gewechselt hier möchte ich msg, so ändern, dass aus a -> A wird .... Gruß Christian |
Re: WindowsMessage in UpperCase umwandeln
für alle die es interessiert, ich hab es raus, wie einfach:
wenn ich die Taste für den Upper-Modus abfange, einfach mit SetKeyboardState die Tastur umstellen! |
Re: WindowsMessage in UpperCase umwandeln
kommst du nicht besser einfach die Methode KeyDown bzw. KeyPress zu überschreiben und dort den Key zu wandeln? Ich wäre ganz und gar nicht begeistert wenn ein Programm mit Capslock etc. aktiviert.
|
Re: WindowsMessage in UpperCase umwandeln
grundsätzlich hast du recht!
Allerdings geht es um das Anbinden von verschieden Kassentasturen, die alle unterschiedlich belegt sind. Mit dieser Technik braucht man die verschiedenen Modelle nicht mehr hardwaremäßig zu programmieren. Ich habe ein einfaches Lernprogramm geschrieben, das die KeyCodes der verschiedenen Tastaturen einfach einaml lernt, und fertig. Das Programm läuft also nicht einfach auf einem StandardPC! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08: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