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:
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
....
Leider konnte ich weder im Web noch in meinem Lieblingsforum etwas dazu finden.
Gruß Christian