Einzelnen Beitrag anzeigen

beo

Registriert seit: 7. Sep 2006
13 Beiträge
 
#1

WindowsMessage in UpperCase umwandeln

  Alt 15. Sep 2006, 10:50
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
Christian
  Mit Zitat antworten Zitat