Einzelnen Beitrag anzeigen

BigAl

Registriert seit: 6. Sep 2008
Ort: Kehl
495 Beiträge
 
Delphi 12 Athens
 
#3

AW: Tastatureingabe umwandeln

  Alt 12. Jun 2023, 06:12
Was hältst Du hiervon?
Delphi-Quellcode:
procedure TMyForm.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
const
   Superscript:Array[Ord('0')..Ord('9')] of Word=
      ($2070,$00B9,$00B2,$00B3,$2074,$2075,$2076,$2077,$2078,$2079);
begin
  inherited;
  if (ActiveControl is TEdit) and (Key in [Ord('0') .. Ord('9')]) then
  begin
    if (Shift = [ssCtrl]) then Key:=$2080 + (Key - Ord('0'))
      else if (Shift = [ssCtrl, ssShift]) then Key:=SuperScript[Key]
        else Exit;
    PostMessage(ActiveControl.HANDLE, WM_CHAR, Key, 0);
    Key:=0;
  end;
end;
Ist schön kompakt .
Man sollte nie so viel zu tun haben, dass man zum Nachdenken keine Zeit mehr hat. (G.C. Lichtenberg)
  Mit Zitat antworten Zitat